diff --git a/src/server/slavefuncs.c b/src/server/slavefuncs.c --- a/src/server/slavefuncs.c +++ b/src/server/slavefuncs.c @@ -42,10 +42,18 @@ int sendSignal(struct remoteio *rem, int signal) { size_t written; + size_t towrite; char *ssignal; + _distren_asprintf(&ssignal, "%d", signal); - while( !remoteio_write(rem, ssignal, strlen(ssignal), &written) ) - fprintf(stderr, "Writing..."); + towrite = strlen(ssignal); + while( !remoteio_write(rem, ssignal, towrite, &written) + && towrite + && written) + { + printf(stderr, "Writing..."); + towrite -= written; + } return 0; } /**