Page MenuHomeFreeBSD

shutdown_interrupts_recvfrom.c

Authored By
sobomax
Apr 10 2017, 5:57 PM
Size
1 KB
Referenced Files
None
Subscribers
None

shutdown_interrupts_recvfrom.c

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <strings.h>
#include <pthread.h>
void *mythread(void *arg) {
int *s = arg;
int res;
sleep(2);
res = shutdown(*s, SHUT_RDWR);
if (res != 0) {
perror("shutdown");
}
return NULL;
}
int main(int argc, char *argv[]) {
int s;
socklen_t addrlen;
struct sockaddr_in addr;
char buf[16384];
pthread_t thr;
s = socket(AF_INET, SOCK_DGRAM, 0);
if (s < 0) {
perror("socket");
return 1;
}
bzero(&addr, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = htonl(INADDR_ANY);
addr.sin_port = htons(5555);
addrlen = sizeof(addr);
if (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
perror("bind");
return 1;
}
if (pthread_create(&thr, NULL, mythread, &s) != 0) {
perror("pthread_create");
return 1;
}
recvfrom(s, buf, sizeof(buf), 0, (struct sockaddr *)&addr, &addrlen);
printf("Success\n");
}

File Metadata

Mime Type
text/x-c
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
821227
Default Alt Text
shutdown_interrupts_recvfrom.c (1 KB)

Event Timeline