I used fork to create a child process but I can’t achieve communication between parent and child with signals [on hold]

I have an assignment for my OS class where we have to create a child process using fork(). Once that is done, the child has to be in pause() state, waiting for a signal from the parent process. The parent process needs to “activate” the child and once that happens the commands within the child’s body should be executed. We are required to use the kill() and signal() function. We write in C. Excuse me if I’m not explaining the assignment well but I have been trying to establish communication between the parent and child using signals and I simply can’t.The lecturer specifies that he wants us to add delays with sleep(). I know that there are other commands such as raise() but we are specifically required to use kill(), wait() and signal(). Here’s what I did:

void handler(int sig) {   if (sig==SIGCONT)   {     printf("I received SIGCONT\n");     sleep(1);     exit(0);   } } int main(void) {   pid_t c1=fork();   if (c1<0)   {       printf("error\n");      exit(-1);   }   else if (c1==0)   {     c1=getpid();     pause();     signal(SIGCONT,handler);     sleep(1);   }   else  {     kill(c1,SIGCONT);     sleep(1);     int status;     wait(&status);     exit(0);  } return 0; }