Enlightenment CVS committal
Author : xcomputerman
Project : e17
Module : apps/entrance
Dir : e17/apps/entrance/src/client
Modified Files:
entrance.h main.c
Log Message:
Use exit code so that spawner doesn't attempt to restart entrance during a
shutdown or reboot.
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- entrance.h 22 Oct 2003 12:21:51 -0000 1.6
+++ entrance.h 25 Oct 2003 04:50:28 -0000 1.7
@@ -12,5 +12,6 @@
#include "entrance_session.h"
#define X_TESTING 0
+#define EXITCODE 42
#endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/main.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- main.c 22 Oct 2003 12:09:57 -0000 1.15
+++ main.c 25 Oct 2003 04:50:28 -0000 1.16
@@ -436,10 +436,21 @@
{
if (session->config->reboot.allow)
{
- pid_t ppid = getppid();
+ pid_t pid;
- execl("/bin/sh", "/bin/sh", "-c", "/sbin/shutdown -r now", NULL);
- kill(ppid, SIGQUIT);
+ switch(pid = fork()) {
+ case 0:
+ if(execl("/bin/sh", "/bin/sh", "-c", "/sbin/shutdown -r now", NULL)) {
+ syslog(LOG_CRIT, "Reboot failed: Unable to execute /sbin/shutdown");
+ exit(0);
+ }
+ case -1:
+ syslog(LOG_CRIT, "Reboot failed: could not fork to execute shutdown
script");
+ break;
+ default:
+ syslog(LOG_INFO, "The system is being rebooted");
+ exit(EXITCODE);
+ }
}
}
@@ -457,12 +468,22 @@
shutdown_cb(void *data, Evas_Object * o, const char *emission,
const char *source)
{
+ pid_t pid;
if (session->config->halt.allow)
{
- pid_t ppid = getppid();
-
- execl("/bin/sh", "/bin/sh", "-c", "/sbin/shutdown -h now", NULL);
- kill(ppid, SIGQUIT);
+ switch(pid = fork()) {
+ case 0:
+ if(execl("/bin/sh", "/bin/sh", "-c", "/sbin/shutdown -h now", NULL)) {
+ syslog(LOG_CRIT, "Shutdown failed: Unable to execute
/sbin/shutdown");
+ exit(0);
+ }
+ case -1:
+ syslog(LOG_CRIT, "Shutdown failed: could not fork to execute shutdown
script");
+ break;
+ default:
+ syslog(LOG_INFO, "The system is being shut down");
+ exit(EXITCODE);
+ }
}
}
-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community? Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs