Changeset 876
- Timestamp:
- 04/15/08 11:50:27 (7 months ago)
- Files:
-
- 1 modified
-
trunk/plugin_fifo.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/plugin_fifo.c
r875 r876 152 152 { 153 153 char buf[FIFO_BUFFER_SIZE]; 154 int i, bytes = 1; 154 unsigned int i; 155 int bytes = 1; 155 156 memset(buf, 0, FIFO_BUFFER_SIZE); 156 157 strcat(buf, "ERROR"); 158 157 159 if (checkFifo() == 0) { 158 160 memset(buf, 0, FIFO_BUFFER_SIZE); 159 while (bytes > 0 && errno != EINTR) { 161 162 while (bytes > 0 && errno != EINTR) { 160 163 bytes = read(fd.input, buf, FIFO_BUFFER_SIZE); 161 164 } 162 165 163 if (bytes < 0 ) {166 if (bytes < 0 || errno > 0) { 164 167 error("[FIFO] Error %i: %s", errno, strerror(errno)); 165 168 } else { … … 173 176 } 174 177 } 175 176 178 /* store result */ 177 179 SetResult(&result, R_STRING, msg); … … 189 191 return -1; 190 192 } 193 194 /* ignore broken pipe */ 195 signal(SIGPIPE, SIG_IGN); 196 191 197 memset(msg, 0, FIFO_BUFFER_SIZE); 192 198 AddFunction("fifo::read", 0, fiforead);
