Listing 13: main.c (reworked to start SOAP server).
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include "SocketServer.h"
#include "SOAPServer.h" // New
#define PORT 6069
void cleanExit(int sig);
int main(int argc, char **argv)
{
signal( SIGTERM, cleanExit );
signal( SIGINT, cleanExit );
// New. Call non-blocking SOAP server
if (startSOAPServer() < 0) {
fprintf(stderr, "SOAP server failed\n");
exit(EXIT_FAILURE);
}
// If all is well, then this never returns
if (startSocketServer(PORT) < 0) {
fprintf(stderr, "Socked server failed\n");
exit(EXIT_FAILURE);
}
}
void cleanExit(int sig)
{
fprintf(stdout, "\nShutting down ...\n");
stopSOAPServer(); // New
exit(EXIT_SUCCESS);
}