C send method free buffer?

У меня вопрос о методе отправки C.

int send (int socket, void *buffer, size_t size, int flags);

Мой код:

char *buffer = (char *)malloc(100*sizeof(char));
send(s, buffer, 100*sizeof(char), MSG_NOSIGNAL);

Теперь мне было интересно, следует ли мне самому освобождать буфер или метод send освобождает его?

Мой код, в котором я освобождаю буфер:

char *buffer = (char *)malloc(100*sizeof(char));
send(s, buffer, 100*sizeof(char), MSG_NOSIGNAL);
free(buffer);

Когда я увидел ошибку, я подумал, что скоро освободил буфер, а метод send все еще использовал память.

Позвольте мне знаю.

6
задан Tim 9 April 2011 в 16:03
поделиться