[tuxdroid-svn] r242 - svnlook: warning: cannot set LC_CTYPE locale svnlook: warning: environment va
Status: Beta
Brought to you by:
ks156
From: svnlook:warning@affinitic.be:cannot s. L. l. <c2m...@c2...> - 2007-04-13 08:49:15
|
Author: svnlook: warning: cannot set LC_CTYPE locale Date: svnlook: warning: environment variable LANG is EN New Revision: 242 Modified: daemon/trunk/main.c Log: remi 2007-04-13 10:48:33 +0200 (Fri, 13 Apr 2007) 54 UPD Limit to one the number of instances of the daemon svnlook: warning: cannot set LC_CTYPE locale svnlook: warning: environment variable LANG is EN svnlook: warning: please check that your locale name is correct Modified: daemon/trunk/main.c =================================================================== --- daemon/trunk/main.c 2007-04-11 19:41:17 UTC (rev 241) +++ daemon/trunk/main.c 2007-04-13 08:48:33 UTC (rev 242) @@ -185,6 +185,22 @@ } /************************************************************************ */ +/* Check the number of instances */ +/************************************************************************ */ +unsigned char single_instance() +{ + FILE* tmp; + char c; + unsigned char count; + count = 0; + tmp = popen("ps -e -o'%y %c' | grep tuxdaemon | wc --line","r"); + fread(&c, sizeof(char), 1, tmp); + pclose(tmp); + if ((char)c == (char)'1') return 1; + else return 0; +} + +/************************************************************************ */ /* USBDaemon main function */ /************************************************************************ */ int main(int argc, char *argv[]) @@ -197,6 +213,15 @@ unsigned char shell_view = 0; unsigned char daemonized = 0; + /* On exiting */ + signal(SIGINT, on_close_daemon); + signal(SIGKILL, on_close_daemon); + /* Only one instance of the daemon is authorized */ + if (!single_instance()) + { + printf("Tuxdaemon is already launched !\n"); + exit(0); + } /* Program arguments */ for (i = 1; i < argc; i++) { @@ -234,9 +259,6 @@ usb_set_debug(LIBUSB_DEBUG_LEVEL); usb_init(); #endif - /* On exiting */ - signal(SIGINT, on_close_daemon); - signal(SIGKILL, on_close_daemon); /* Gestion Multithread */ if (!g_thread_supported()) |