[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[myserver-commit] [2934] Fixed Windows build problems.
From: |
Giuseppe Scrivano |
Subject: |
[myserver-commit] [2934] Fixed Windows build problems. |
Date: |
Sun, 02 Nov 2008 22:29:55 +0000 |
Revision: 2934
http://svn.sv.gnu.org/viewvc/?view=rev&root=myserver&revision=2934
Author: gscrivano
Date: 2008-11-02 22:29:54 +0000 (Sun, 02 Nov 2008)
Log Message:
-----------
Fixed Windows build problems.
Modified Paths:
--------------
trunk/myserver/include/base/socket/socket.h
trunk/myserver/include/log/log_manager.h
trunk/myserver/include/server/server.h
trunk/myserver/src/base/file/file.cpp
trunk/myserver/src/base/process/process_server_manager.cpp
trunk/myserver/src/base/socket/socket.cpp
trunk/myserver/src/connections_scheduler/connections_scheduler.cpp
trunk/myserver/src/http_handler/isapi/isapi.cpp
trunk/myserver/src/http_handler/wincgi/wincgi.cpp
trunk/myserver/src/myserver.cpp
trunk/myserver/tests/test_connections_scheduler.cpp
Modified: trunk/myserver/include/base/socket/socket.h
===================================================================
--- trunk/myserver/include/base/socket/socket.h 2008-11-02 21:24:22 UTC (rev
2933)
+++ trunk/myserver/include/base/socket/socket.h 2008-11-02 22:29:54 UTC (rev
2934)
@@ -71,7 +71,7 @@
static void stopBlockingOperations(bool);
virtual FileHandle getHandle();
- int setHandle(FileHandle);
+ void setHandle(FileHandle);
static MYSERVER_HOSTENT *gethostbyaddr(char* addr, int len, int type);
static MYSERVER_HOSTENT *gethostbyname(const char*);
static int gethostname(char*, int);
@@ -108,7 +108,11 @@
virtual int write(const char* buffer, u_long len, u_long *nbw);
protected:
+#ifdef WIN32
+ SOCKET socketHandle;
+#else
FileHandle socketHandle;
+#endif
/*! Pointer to the socket that has accepted this connection. */
Socket *serverSocket;
Modified: trunk/myserver/include/log/log_manager.h
===================================================================
--- trunk/myserver/include/log/log_manager.h 2008-11-02 21:24:22 UTC (rev
2933)
+++ trunk/myserver/include/log/log_manager.h 2008-11-02 22:29:54 UTC (rev
2934)
@@ -35,6 +35,18 @@
#define NL "\n"
#endif
+#ifdef INFO
+#undef INFO
+#endif
+
+#ifdef WARNING
+#undef WARNING
+#endif
+
+#ifdef ERROR
+#undef ERROR
+#endif
+
enum LoggingLevel
{
INFO,
Modified: trunk/myserver/include/server/server.h
===================================================================
--- trunk/myserver/include/server/server.h 2008-11-02 21:24:22 UTC (rev
2933)
+++ trunk/myserver/include/server/server.h 2008-11-02 22:29:54 UTC (rev
2934)
@@ -135,10 +135,6 @@
int logWriteln(char const*, LoggingLevel level = WARNING);
int logWriteln(string const &str)
{return logWriteln(str.c_str());};
- int logPreparePrintError();
- int logEndPrintError();
- int logLockAccess();
- int logUnlockAccess();
int setLogLocation(string);
u_long getBuffersize();
u_long getBuffersize2();
Modified: trunk/myserver/src/base/file/file.cpp
===================================================================
--- trunk/myserver/src/base/file/file.cpp 2008-11-02 21:24:22 UTC (rev
2933)
+++ trunk/myserver/src/base/file/file.cpp 2008-11-02 22:29:54 UTC (rev
2934)
@@ -486,8 +486,8 @@
*nbw = ret;
return 0;
#else
- const char *buffer = buf->getBuffer ();
- u_long size = buf->getRealSize ();
+ char *buffer = buf->getBuffer ();
+ u_long size = buf->getRealLength ();
*nbw = 0;
if (setFilePointer (firstByte))
@@ -504,7 +504,7 @@
if (nbr == 0)
break;
- if (dest->write (buffer, nbr, tmpNbw))
+ if (dest->write (buffer, nbr, &tmpNbw))
return -1;
*nbw += tmpNbw;
Modified: trunk/myserver/src/base/process/process_server_manager.cpp
===================================================================
--- trunk/myserver/src/base/process/process_server_manager.cpp 2008-11-02
21:24:22 UTC (rev 2933)
+++ trunk/myserver/src/base/process/process_server_manager.cpp 2008-11-02
22:29:54 UTC (rev 2934)
@@ -435,7 +435,7 @@
}
- server->DESCRIPTOR.fileHandle = server->socket.getHandle();
+ server->DESCRIPTOR.fileHandle = (unsigned long)
server->socket.getHandle();
spi.envString = 0;
spi.stdIn = (FileHandle)server->DESCRIPTOR.fileHandle;
spi.cmd.assign(tmpCgiPath);
@@ -512,7 +512,7 @@
{
MYSERVER_SOCKADDRIN serverSock = { 0 };
socklen_t nLength = sizeof(MYSERVER_SOCKADDRIN);
- getsockname(server->socket.getHandle(), (sockaddr *)&serverSock, &nLength);
+ getsockname((SOCKET) server->socket.getHandle(), (sockaddr *)&serverSock,
&nLength);
if(serverSock.ss_family == AF_INET || !server->isLocal)
{
/*! Try to create the socket. */
Modified: trunk/myserver/src/base/socket/socket.cpp
===================================================================
--- trunk/myserver/src/base/socket/socket.cpp 2008-11-02 21:24:22 UTC (rev
2933)
+++ trunk/myserver/src/base/socket/socket.cpp 2008-11-02 22:29:54 UTC (rev
2934)
@@ -60,16 +60,19 @@
*/
FileHandle Socket::getHandle()
{
- return socketHandle;
+ return (FileHandle) socketHandle;
}
/*!
*Set the handle for the socket
*/
-int Socket::setHandle(FileHandle h)
+void Socket::setHandle(FileHandle h)
{
+#ifdef WIN32
+ socketHandle = (SOCKET) h;
+#else
socketHandle = h;
- return 1;
+#endif
}
/*!
@@ -94,7 +97,11 @@
*/
int Socket::socket(int af, int type, int protocol)
{
+#ifdef WIN32
+ socketHandle = (SOCKET)::socket(af, type, protocol);
+#else
socketHandle = (FileHandle)::socket(af, type, protocol);
+#endif
return (int)socketHandle;
}
@@ -186,8 +193,6 @@
*/
Socket Socket::accept(MYSERVER_SOCKADDR* sa, int* sockaddrlen)
{
- if ( sa == NULL )
- return 1;//Andu: TODO our error code or what?
#ifdef NOT_WIN
socklen_t connectSize;
int acceptHandle;
Modified: trunk/myserver/src/connections_scheduler/connections_scheduler.cpp
===================================================================
--- trunk/myserver/src/connections_scheduler/connections_scheduler.cpp
2008-11-02 21:24:22 UTC (rev 2933)
+++ trunk/myserver/src/connections_scheduler/connections_scheduler.cpp
2008-11-02 22:29:54 UTC (rev 2934)
@@ -171,7 +171,7 @@
if(event == EV_READ || event == EV_TIMEOUT)
{
- Socket sock(da->fd[0]);
+ Socket sock((FileHandle) da->fd[0]);
while(sock.bytesToRead())
{
@@ -194,7 +194,7 @@
sock.recv((char*)&c, sizeof(ConnectionPtr), 0);
sock.recv((char*)&tv, sizeof(timeval), 0);
- event_once(handle, EV_READ | EV_TIMEOUT, newDataHandler, da, &tv);
+ event_once((int) handle, EV_READ | EV_TIMEOUT, newDataHandler, da,
&tv);
}
if(cmd == 'r')
return;
@@ -245,7 +245,7 @@
ConnectionsScheduler::ListenerArg *arg = new
ConnectionsScheduler::ListenerArg(la);
static timeval tv = {3, 0};
- event_set(&(arg->ev), la->serverSocket->getHandle(), EV_READ | EV_TIMEOUT,
+ event_set(&(arg->ev), (int) la->serverSocket->getHandle(), EV_READ |
EV_TIMEOUT,
listenerHandler, arg);
arg->terminate = &dispatcherArg.terminate;
@@ -259,7 +259,7 @@
event_add(&(arg->ev), &tv);
u_long nbw;
- Socket sock(dispatcherArg.fd[1]);
+ Socket sock ((FileHandle)dispatcherArg.fd[1]);
eventsSocketMutex.lock();
sock.write("l", 1, &nbw);
@@ -479,7 +479,7 @@
if(lock)
{
u_long nbw;
- Socket sock(dispatcherArg.fd[1]);
+ Socket sock ((FileHandle)dispatcherArg.fd[1]);
eventsSocketMutex.lock();
sock.write("c", 1, &nbw);
@@ -490,7 +490,7 @@
}
else
{
- event_once(handle, EV_READ | EV_TIMEOUT, newDataHandler, &dispatcherArg,
&tv);
+ event_once((int)handle, EV_READ | EV_TIMEOUT, newDataHandler,
&dispatcherArg, &tv);
}
}
@@ -553,7 +553,7 @@
readySemaphore->unlock();
}
- Socket sock(dispatcherArg.fd[1]);
+ Socket sock((FileHandle)dispatcherArg.fd[1]);
eventsSocketMutex.lock();
sock.write("r", 1, &nbw);
Modified: trunk/myserver/src/http_handler/isapi/isapi.cpp
===================================================================
--- trunk/myserver/src/http_handler/isapi/isapi.cpp 2008-11-02 21:24:22 UTC
(rev 2933)
+++ trunk/myserver/src/http_handler/isapi/isapi.cpp 2008-11-02 22:29:54 UTC
(rev 2934)
@@ -57,11 +57,7 @@
Isapi::isapiMutex->unlock();
if (ConnInfo == NULL)
{
- Server::getInstance()->logLockAccess();
- Server::getInstance()->logPreparePrintError();
Server::getInstance()->logWriteln("isapi::ServerSupportFunctionExport:
invalid hConn");
- Server::getInstance()->logEndPrintError();
- Server::getInstance()->logUnlockAccess();
return 0;
}
@@ -221,12 +217,8 @@
if (ConnInfo == NULL)
{
- ((Vhost*)(ConnInfo->td->connection->host))->warningsLogRequestAccess(
-
ConnInfo->td->id);
((Vhost*)(ConnInfo->td->connection->host))->warningsLogWrite(
"ISAPI: WriteClientExport: invalid
hConn");
- ((Vhost*)(ConnInfo->td->connection->host))->warningsLogTerminateAccess(
-
ConnInfo->td->id);
return 0;
}
keepalive =connection && (!stringcmpi(connection->value->c_str(),
"keep-alive")) ;
@@ -406,12 +398,8 @@
Isapi::isapiMutex->unlock();
if (ConnInfo == NULL)
{
- ((Vhost*)(ConnInfo->td->connection->host))->warningsLogRequestAccess(
- ConnInfo->td->id);
((Vhost*)(ConnInfo->td->connection->host))->warningsLogWrite(
"ISAPI: ReadClientExport: invalid hConn");
- ((Vhost*)(ConnInfo->td->connection->host))->warningsLogTerminateAccess(
- ConnInfo->td->id);
return 0;
}
@@ -444,12 +432,8 @@
Isapi::isapiMutex->unlock();
if (ConnInfo == NULL)
{
- Server::getInstance()->logLockAccess();
- Server::getInstance()->logPreparePrintError();
Server::getInstance()->logWriteln(
"Isapi::GetServerVariableExport: invalid hConn");
- Server::getInstance()->logEndPrintError();
- Server::getInstance()->logUnlockAccess();
return 0;
}
@@ -807,10 +791,8 @@
if (connIndex == maxConnections)
{
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(
"ISAPI: Error max connections");
- td->connection->host->warningsLogTerminateAccess(td->id);
return td->http->raiseHTTPError(503);
}
if(execute)
@@ -825,9 +807,7 @@
string msg;
msg.assign("ISAPI: Cannot load library ");
msg.append(loadLib);
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(msg.c_str());
- td->connection->host->warningsLogTerminateAccess(td->id);
return td->http->raiseHTTPError(500);
}
@@ -843,9 +823,7 @@
td->connection->socket,
&nbw, 1))
{
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite("Error loading filters");
- td->connection->host->warningsLogTerminateAccess(td->id);
connTable[connIndex].chain.clearAllFilters();
return td->http->raiseHTTPError(500);
}
@@ -865,37 +843,30 @@
if (GetExtensionVersion == NULL)
{
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(
"ISAPI: Failed to get pointer to GetExtensionVersion() in ISAPI
application");
- td->connection->host->warningsLogTerminateAccess(td->id);
if(!appHnd.close())
{
string msg;
msg.assign("ISAPI: Failed to freeLibrary in ISAPI module: ");
msg.append(cgipath);
msg.append("\r\n");
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(msg.c_str());
- td->connection->host->warningsLogTerminateAccess(td->id);
}
connTable[connIndex].chain.clearAllFilters();
return td->http->raiseHTTPError(500);
}
if(!GetExtensionVersion(&Ver))
{
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(
"ISAPI: GetExtensionVersion() returned FALSE");
- td->connection->host->warningsLogTerminateAccess(td->id);
+
if(!appHnd.close())
{
string msg;
msg.assign("ISAPI: Failed to freeLibrary in ISAPI module: ");
msg.append(cgipath);
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(msg.c_str());
- td->connection->host->warningsLogTerminateAccess(td->id);
}
connTable[connIndex].chain.clearAllFilters();
return td->http->raiseHTTPError(500);
@@ -903,18 +874,15 @@
if (Ver.dwExtensionVersion > MAKELONG(HSE_VERSION_MINOR,
HSE_VERSION_MAJOR))
{
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(
"ISAPI: version not supported");
- td->connection->host->warningsLogRequestAccess(td->id);
+
if(!appHnd.close())
{
string msg;
msg.assign("ISAPI: Failed to freeLibrary in ISAPI module: ");
msg.append(cgipath);
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(msg.c_str());
- td->connection->host->warningsLogTerminateAccess(td->id);
}
connTable[connIndex].chain.clearAllFilters();
return td->http->raiseHTTPError(500);
@@ -971,12 +939,10 @@
HttpExtensionProc =
(PFN_HTTPEXTENSIONPROC)appHnd.getProc("HttpExtensionProc");
if (HttpExtensionProc == NULL)
{
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(
"ISAPI: Failed to get pointer to HttpExtensionProc() \
in ISAPI application module");
- td->connection->host->warningsLogTerminateAccess(td->id);
appHnd.close();
connTable[connIndex].chain.clearAllFilters();
return td->http->raiseHTTPError(500);
@@ -1014,9 +980,7 @@
string msg;
msg.assign("ISAPI: Failed to unLoad module ");
msg.append(cgipath);
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(msg.c_str());
- td->connection->host->warningsLogTerminateAccess(td->id);
}
{
Modified: trunk/myserver/src/http_handler/wincgi/wincgi.cpp
===================================================================
--- trunk/myserver/src/http_handler/wincgi/wincgi.cpp 2008-11-02 21:24:22 UTC
(rev 2933)
+++ trunk/myserver/src/http_handler/wincgi/wincgi.cpp 2008-11-02 22:29:54 UTC
(rev 2934)
@@ -132,10 +132,7 @@
td->mime->filters,
td->connection->socket,
&nbw2, 1))
{
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite("WinCGI: Error loading
filters");
- td->connection->host->warningsLogTerminateAccess(td->id);
-
chain.clearAllFilters();
return td->http->raiseHTTPError(500);
}
@@ -149,9 +146,7 @@
File::MYSERVER_CREATE_ALWAYS|File::MYSERVER_OPEN_WRITE);
if ( ret )
{
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite("WinCGI: Error creating .ini");
- td->connection->host->warningsLogTerminateAccess(td->id);
return td->http->raiseHTTPError(500);
}
@@ -293,10 +288,8 @@
ret = OutFileHandle.openFile(outFilePath, File::MYSERVER_CREATE_ALWAYS);
if (ret)
{
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(
"WinCGI: Error creating output file");
- td->connection->host->warningsLogTerminateAccess(td->id);
DataFileHandle.close();
FilesUtility::deleteFile(outFilePath);
FilesUtility::deleteFile(dataFilePath);
@@ -315,9 +308,8 @@
{
ostringstream msg;
msg << "WinCGI: Error executing process " << scriptpath;
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(msg.str().c_str());
- td->connection->host->warningsLogTerminateAccess(td->id);
+
FilesUtility::deleteFile(outFilePath);
FilesUtility::deleteFile(dataFilePath);
chain.clearAllFilters();
@@ -330,9 +322,7 @@
{
ostringstream msg;
msg << "WinCGI: Error opening output file " << outFilePath;
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(msg.str().c_str());
- td->connection->host->warningsLogTerminateAccess(td->id);
chain.clearAllFilters();
return td->http->raiseHTTPError(500);
}
@@ -342,9 +332,7 @@
ostringstream msg;
msg << "WinCGI: Error zero bytes read from the WinCGI output file "
<< outFilePath;
- td->connection->host->warningsLogRequestAccess(td->id);
td->connection->host->warningsLogWrite(msg.str().c_str());
- td->connection->host->warningsLogTerminateAccess(td->id);
OutFileHandle.close();
FilesUtility::deleteFile(outFilePath);
FilesUtility::deleteFile(dataFilePath);
Modified: trunk/myserver/src/myserver.cpp
===================================================================
--- trunk/myserver/src/myserver.cpp 2008-11-02 21:24:22 UTC (rev 2933)
+++ trunk/myserver/src/myserver.cpp 2008-11-02 22:29:54 UTC (rev 2934)
@@ -691,7 +691,8 @@
MyServiceStatus.dwCurrentState = SERVICE_RUNNING;
SetServiceStatus( MyServiceStatusHandle, &MyServiceStatus );
- Server::getInstance()->start();
+ string null ("");
+ Server::getInstance()->start(null, null, null, null, null);
MyServiceStatus.dwCurrentState = SERVICE_STOP_PENDING;
SetServiceStatus( MyServiceStatusHandle, &MyServiceStatus );
@@ -744,9 +745,10 @@
#ifdef WIN32
SERVICE_TABLE_ENTRY serviceTable[] =
{
- { "MyServer", myServerMain },
+ { (CHAR*) "MyServer", myServerMain },
{ 0, 0 }
};
+
if(!StartServiceCtrlDispatcher( serviceTable ))
{
if(GetLastError() == ERROR_INVALID_DATA)
@@ -780,7 +782,7 @@
manager = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);
if (manager)
{
- service = CreateService(manager,"MyServer","MyServer",
+ service = CreateService(manager,"GNU MyServer","GNU MyServer",
SERVICE_ALL_ACCESS,SERVICE_WIN32_OWN_PROCESS,
SERVICE_AUTO_START, SERVICE_ERROR_IGNORE, path,
0, 0, 0, 0, 0);
@@ -804,7 +806,7 @@
manager = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);
if (manager)
{
- service = OpenService (manager, "MyServer", SERVICE_ALL_ACCESS);
+ service = OpenService (manager, "GNU MyServer", SERVICE_ALL_ACCESS);
if (service)
{
ControlService (service, SERVICE_CONTROL_STOP,&MyServiceStatus);
Modified: trunk/myserver/tests/test_connections_scheduler.cpp
===================================================================
--- trunk/myserver/tests/test_connections_scheduler.cpp 2008-11-02 21:24:22 UTC
(rev 2933)
+++ trunk/myserver/tests/test_connections_scheduler.cpp 2008-11-02 22:29:54 UTC
(rev 2934)
@@ -131,7 +131,7 @@
for(u_long i = 0; i < max; i++)
{
ConnectionPtr conn = new Connection;
- conn->socket = new MockSocket(i);
+ conn->socket = new MockSocket((FileHandle) i);
scheduler->addWaitingConnection(conn);
}
@@ -144,7 +144,7 @@
void testGetConnections()
{
ConnectionPtr conn = new Connection;
- conn->socket = new MockSocket(1);
+ conn->socket = new MockSocket((FileHandle) 1);
list<ConnectionPtr> out;
@@ -153,7 +153,7 @@
CPPUNIT_ASSERT_EQUAL(out.size(), (size_t)0);
conn = new Connection;
- conn->socket = new MockSocket(2);
+ conn->socket = new MockSocket((FileHandle) 2);
scheduler->addWaitingConnection(conn);
@@ -165,7 +165,7 @@
void testGetNumTotalConnections()
{
ConnectionPtr conn = new Connection;
- conn->socket = new MockSocket(1);
+ conn->socket = new MockSocket((FileHandle) 1);
CPPUNIT_ASSERT_EQUAL(scheduler->getNumTotalConnections(), 0ul);
@@ -189,7 +189,7 @@
ConnectionPtr gotConn;
ConnectionPtr conn = new Connection;
- conn->socket = new MockSocket(1);
+ conn->socket = new MockSocket((FileHandle) 1);
CPPUNIT_ASSERT_EQUAL(scheduler->getNumTotalConnections(), 0ul);
@@ -209,7 +209,7 @@
void testAddNewConnection()
{
ConnectionPtr conn = new Connection;
- conn->socket = new MockSocket(1);
+ conn->socket = new MockSocket((FileHandle) 1);
CPPUNIT_ASSERT_EQUAL(scheduler->getNumTotalConnections(), 0ul);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [myserver-commit] [2934] Fixed Windows build problems.,
Giuseppe Scrivano <=