Я понял вопрос, действительно - магия :) Но. Я вот смотрю в исходниках ядра линукса, там send реализован через sendto (см. net/socket.c). Кроме...
INLINE_SYSCALL -- вот он, системный вызов
Это функция-заглушка, для того, чтобы если система не поддерживает операции с сокетами, то по запросу операции выдавалась бы ошибка. Смотрите...
glibc/sysdeps/unix/sysv/linux/x86_64/send.c #include <errno.h> #include <sys/socket.h> #include <sysdep-cancel.h> /* Send N bytes of BUF to...
А вас не смущает, что вы смотрите в исходниках для HURD?... im@r00tbox:~/projects/glibc$ grep -r -n "__socket_send" ./* ./ChangeLog.4:1860:...
man ctags man cscope etags для emacs Билдовая система ядра может делать тэг-файлы, make help в помощь.
Это кроссплатформенная либа, компилируемая кучей компиляторов под различные целевые операционные и процессорные системы. Так что не пугайтесь ;)...
+1 linux kernel coding style +1 goto -- это не зло, а необходимость в случае, если не используются исключения
2slesh result = 0; goto end1;
glibc
Школота?
Удалить дескрипторы? Хм.. как вы себе это представляете?..
1. Посмотреть lsof | grep `process name` -- это даст список файлов на чём висит процесс. 2. Узнать инод файла, на котором он висит. 3. Найти...
Нужно узнать на каком объёкте синхронизации он висит. Скорее всего, это inode->i_mutex. Тогда, нужно найти этот инод и разлочить mutex в ручную =)
Кстати, я работая с VirtualBox наткнулся на такую штуку, что команда sidt возвращает невалидное для ОС значение. Где-то читал по этому поводу, что...
Я думаю никак, но не могу этого гарантировать.
Возможность такого определения зависит от компилятора и стандарта. Если поддерживает, то sizeof(A) будет равно sizeof(int).
[img]
А дизасм можно позырить?
Кстати, я бы такую функцию юзал как __cdecl через inline-обёртку, зануляющуюю перед вызовом %ecx.
Имена участников (разделяйте запятой).