Changeset 245:677fbe9318d8 for uwsgi.c

Show
Ignore:
Timestamp:
03/01/10 18:51:11 (5 months ago)
Author:
roberto@…
Branch:
default
Message:

complete erlang integration. Now working on timeout and memory management

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • uwsgi.c

    r244 r245  
    451451char *spool_dir = NULL; 
    452452 
    453 static int unconfigured_hook(struct uwsgi_server *uwsgi, struct wsgi_request *wsgi_req, char *buffer) { 
     453static int unconfigured_hook(struct uwsgi_server *uwsgi, struct wsgi_request *wsgi_req) { 
    454454        fprintf(stderr, "-- unavailable modifier requested: %d --\n", wsgi_req->modifier); 
    455455        return -1; 
    456456} 
    457457 
    458 static void unconfigured_after_hook(struct uwsgi_server *uwsgi, struct wsgi_request *wsgi_req, char *buffer) { 
     458static void unconfigured_after_hook(struct uwsgi_server *uwsgi, struct wsgi_request *wsgi_req) { 
    459459        return; 
    460460} 
     
    509509        char env_reload_buf[11]; 
    510510 
    511         char *buffer; 
    512511 
    513512#ifdef UNBIT 
     
    10651064                exit (1); 
    10661065        } 
    1067         buffer = malloc (uwsgi.buffer_size); 
    1068         if (buffer == NULL) { 
     1066        uwsgi.buffer = malloc (uwsgi.buffer_size); 
     1067        if (uwsgi.buffer == NULL) { 
    10691068                fprintf (stderr, "unable to allocate memory for buffer.\n"); 
    10701069                exit (1); 
     
    13221321                                        else if (rlen > 0) { 
    13231322                                                udp_len = sizeof (udp_client); 
    1324                                                 rlen = recvfrom (udp_poll.fd, buffer, uwsgi.buffer_size, 0, (struct sockaddr *) &udp_client, &udp_len); 
     1323                                                rlen = recvfrom (udp_poll.fd, uwsgi.buffer, uwsgi.buffer_size, 0, (struct sockaddr *) &udp_client, &udp_len); 
    13251324                                                if (rlen < 0) { 
    13261325                                                        perror ("recvfrom()"); 
     
    13301329                                                        if (inet_ntop (AF_INET, &udp_client.sin_addr.s_addr, udp_client_addr, 16)) { 
    13311330                                                                fprintf (stderr, "received udp packet of %d bytes from %s:%d\n", rlen, udp_client_addr, ntohs (udp_client.sin_port)); 
    1332                                                                 if (buffer[0] == 0x30) { 
    1333                                                                         manage_snmp (udp_poll.fd, (uint8_t *) buffer, rlen, &udp_client); 
     1331                                                                if (uwsgi.buffer[0] == 0x30) { 
     1332                                                                        manage_snmp (udp_poll.fd, (uint8_t *) uwsgi.buffer, rlen, &udp_client); 
    13341333                                                                } 
    13351334                                                        } 
     
    14741473                else if ( uwsgi.mywid > (uwsgi.numproc - uwsgi.erlang_nodes) ) { 
    14751474                        fprintf(stderr,"Erlang mode enabled for worker %d.\n", uwsgi.mywid); 
    1476                         erlang_loop(buffer); 
     1475                        erlang_loop(); 
    14771476                        // NEVER HERE 
    14781477                        exit(1); 
     
    15321531 
    15331532                        i = 0; 
    1534                         wsgi_req.size = sctp_recvmsg (uwsgi.poll.fd, buffer, uwsgi.buffer_size, 0, 0, &sctp_ss, 0); 
     1533                        wsgi_req.size = sctp_recvmsg (uwsgi.poll.fd, uwsgi.buffer, uwsgi.buffer_size, 0, 0, &sctp_ss, 0); 
    15351534                        if (wsgi_req.size < 0) { 
    15361535                                perror ("sctp_recvmsg()"); 
     
    15411540                else { 
    15421541#endif 
    1543                         if (!uwsgi_parse_response (&uwsgi.poll, uwsgi.options[UWSGI_OPTION_SOCKET_TIMEOUT], (struct uwsgi_header *) &wsgi_req, buffer)) { 
     1542                        if (!uwsgi_parse_response (&uwsgi.poll, uwsgi.options[UWSGI_OPTION_SOCKET_TIMEOUT], (struct uwsgi_header *) &wsgi_req, uwsgi.buffer)) { 
    15441543                                continue; 
    15451544                        } 
     
    15531552                } 
    15541553 
    1555                 ret = (*uwsgi.hooks[wsgi_req.modifier])(&uwsgi, &wsgi_req, buffer); 
     1554                ret = (*uwsgi.hooks[wsgi_req.modifier])(&uwsgi, &wsgi_req); 
    15561555                // calculate execution time 
    15571556                gettimeofday(&wsgi_req.end_of_request, NULL) ; 
     
    15691568 
    15701569                if (!ret) 
    1571                         (*uwsgi.after_hooks[wsgi_req.modifier])(&uwsgi, &wsgi_req, buffer); 
     1570                        (*uwsgi.after_hooks[wsgi_req.modifier])(&uwsgi, &wsgi_req); 
    15721571 
    15731572