/[LeafOK_CVS]/lbbs/src/fork.c
ViewVC logotype

Diff of /lbbs/src/fork.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.2 by sysadm, Mon Oct 18 08:17:25 2004 UTC Revision 1.4 by sysadm, Tue Oct 19 02:08:35 2004 UTC
# Line 1  Line 1 
1  /***************************************************************************  /***************************************************************************
2                            bbsd.c  -  description                            fork.c  -  description
3                               -------------------                               -------------------
4      begin                : Mon Oct 18 2004      begin                : Mon Oct 18 2004
5      copyright            : (C) 2004 by leaf      copyright            : (C) 2004 by Leaflet
6      email                : leaflet@leafok.com      email                : leaflet@leafok.com
7   ***************************************************************************/   ***************************************************************************/
8    
# Line 16  Line 16 
16   ***************************************************************************/   ***************************************************************************/
17    
18  #include "common.h"  #include "common.h"
19  #include <unistd.h>  
20  #include <signal.h>  int
21  #include <sys/param.h>  fork_server(int sock_server, int sock_client, struct sockaddr_in * p_sin)
22  #include <sys/types.h>  {
23  #include <sys/stat.h>    int pid;
24      char temp[256];
25          
26      if (pid = fork ())
27        return 0;
28      else if (pid < 0)
29        return -1;
30    
31      sprintf(temp, "Child process [%d] start\n", getpid());
32      log_std (temp);
33      
34      if (close(sock_server) == -1)
35        {
36          log_error("Close server socket failed\n");
37        }
38      
39      socket_client = sock_client;
40      strcpy(hostaddr_client,inet_ntoa(p_sin->sin_addr));
41      port_client = ntohs(p_sin->sin_port);
42    
43      bbs_main();
44      
45      if (close(sock_client) == -1)
46        {
47          log_error("Close client socket failed\n");
48        }
49    
50      sprintf(temp, "Child process [%d] exit\n", getpid());
51      log_std (temp);
52    
53      log_end();
54    
55      //Exit child process normally
56      exit(0);
57    
58      return 0;
59    }


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1