]> skyeroc.xyz Git - dgamelaunch/commitdiff
Check that we actually do write the inprogress-lock.
authorPasi Kallinen <paxed@alt.org>
Sat, 8 May 2010 05:27:50 +0000 (05:27 +0000)
committerPasi Kallinen <paxed@alt.org>
Sat, 8 May 2010 05:27:50 +0000 (05:27 +0000)
git-svn-id: svn://katsu.triplehelix.org/dgamelaunch/trunk@560 db0b04b0-f4d1-0310-9a6d-de3e77497b0e

dgamelaunch.c

index d7e6b89daa38368d0419bdc839957cb9a06ab06a..fd3c13ab28c4f970f11681b816a0bb0e7ce84ce2 100644 (file)
@@ -205,12 +205,14 @@ gen_inprogress_lock (int game, pid_t pid, char* ttyrec_filename)
 {
   char *lockfile = NULL, filebuf[80];
   int fd;
-  size_t len;
+  size_t len, wrlen;
   struct flock fl = { 0 };
 
   snprintf (filebuf, sizeof(filebuf), "%d\n%d\n%d\n",
                  pid, win.ws_row, win.ws_col);
 
+  wrlen = strlen(filebuf);
+
   fl.l_type = F_WRLCK;
   fl.l_whence = SEEK_SET;
   fl.l_start = 0;
@@ -228,7 +230,10 @@ gen_inprogress_lock (int game, pid_t pid, char* ttyrec_filename)
     graceful_exit (68);
   }
 
-  write (fd, filebuf, strlen (filebuf));
+  if (write (fd, filebuf, wrlen) != wrlen) {
+      debug_write("inprogress-lock write");
+      graceful_exit(70);
+  }
 
   return lockfile;
 }