/
niceSOFT
/
valgrind
Обзор
Документация
Войти
/
niceSOFT
/
valgrind
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
none/tests/socket_close.c
43 строки
902 B
Mark Wielaard
Remove fdleak.h CLOSE_INHERITED_FDS workaround
03 сен 2025, 20:04
03 сен 2025, 20:04
b6ab5a7
Код
Авторство
О чём код?
#define _GNU_SOURCE #include <unistd.h> #include <stdio.h> #include <sys/socket.h> #include <stdlib.h> #include <string.h> #include <sys/un.h> #include "fdleak.h" const char *SPATH = "/tmp/vgtest-foofrob"; int socket_fd; void open_socket() { unlink (SPATH); /* Make sure socket path doesn't exist yet. */ socket_fd = socket(AF_UNIX, SOCK_STREAM, 0); fprintf (stderr, "Open socket %d\n", socket_fd); struct sockaddr_un my_addr; memset(&my_addr, 0, sizeof(my_addr)); my_addr.sun_family = AF_UNIX; strncpy(my_addr.sun_path, SPATH, sizeof(my_addr.sun_path) - 1); bind(socket_fd, (struct sockaddr *) &my_addr, sizeof(my_addr)); } int main () { open_socket(); if (socket_fd != -1) { fprintf(stderr, "close socket_fd %d\n", socket_fd); close (socket_fd); } fprintf (stderr, "and close the socket again %d\n", socket_fd); close (socket_fd); return 0; }