Messages in this thread |  | | From | (Linus Torvalds) | Subject | Re: ptrace/select/signal errno weirdness | Date | 15 Aug 2002 21:03:52 -0700 |
| |
In article <Pine.LNX.4.44.0208151508060.21876-100000@spratly.nominum.com>, Brian Wellington <bwelling@xbill.org> wrote: >When sending a SIGINT to a ptraced process (run under gdb), an interrupted >select() call returns with errno==514. linux/include/linux/errno.h says: > >/* Should never be seen by user programs */ >#define ERESTARTSYS 512 >#define ERESTARTNOINTR 513 >#define ERESTARTNOHAND 514 /* restart if no handler.. */ >#define ENOIOCTLCMD 515 /* No ioctl command */ > >As gdb is a user program, and the printf is printing it, there's something >wrong.
No, there's nothing wrong.
The process _itself_ never sees these magic error numbers, because they are internal to the kernel, and the only time they are seen is by a tracer that sees them - at the same time as the kernel backed up the instruction pointer so that the traced process will not actually return from the system call, it will re-do the system call.
Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |