Files
Datakomm_1/body.c
2026-03-05 13:37:25 +01:00

46 lines
964 B
C

#include "student.h"
#define PATH ".phys_socket"
#define LPATH ".link_socket"
int PSOCK_FD, LSOCK_FD;
void do_something(void)
{
PollSOcket(LSOCK_FD, PSOCK_FD, NULL);
}
void main(int argc, char *argv[])
{
int tmp_fd1;
if((LSOCK_FD = CreateUnixClientSocket(LPATH)) < 0)
{
fprintf(stderr, "Can't create unix client socket\n");
exit(1);
}
if((tmp_fd1 = CreateUnixServerSocket(PATH) < 0)
{
fprintf(stderr, "Can't create unix server socket\n");
exit(1);
}
switch(fork())
{
case -1: fprintf(stderr, "Fork failed\n");
case 0: close(PSOCK_FD);
close(LSOCK_FD);
execv("./physical_layer", argv);
exit(1);
default: if((PSOCK_FD = AcceptConnection(tmp_fd1)) < 0
{
fprintf(stderr, "Can't accept unix client signal socket\n");
exit(1);
}
do_something();
exit(1);
}
}