> Hi again, > > could someone run the code I sent and check if there is a bug in root on > windows? I asked Valery and he replied he has not time to support root > on windows. Let me clarify, the socket (server) functionality had not been completed for Windows. It was highlighted many times on this list. Nobody said "it does work". The reason is simple - there was no demand (as usually :-) So it is not a question of support rather a new development May be it is small (very small) one. Valeri > I do not think there is a serious problem with socket select() in root > main event loop, just a minor error (if any). Could you check please? > /Anton > Gentlemen, > > I am attaching a few lines of code and a makefile (for windows) which > doesn't work on windows but does work on Linux. > > Note: I tested this code with the latest root binary on win98 and winNT > and with root 3.01 on Mandrake Linux. > > Fons/Valery, could you comment on this please. It is very important for > me to know if this is a bug or feature. > > Cheers, > Anton > > #include "TROOT.h" > #include "TRint.h" > #include "TSystem.h" > #include "TStyle.h" > #include "TError.h" > #include "TEnv.h" > #include "TSysEvtHandler.h" > #include "TSocket.h" > #include "TServerSocket.h" > > class TSocketHandler : public TFileHandler { > private: > TSocket *fSocket; //!socket being handled > > public: > > TSocketHandler(TSocket *Socket); > > virtual Bool_t Notify(); > > Bool_t ReadNotify() { return Notify(); } > Bool_t WriteNotify() { return Notify(); } > > TSocket *GetSocket() const { return fSocket; } > }; > > TSocketHandler::TSocketHandler(TSocket *Socket) : > TFileHandler(Socket->GetDescriptor(), 1) > { > fSocket = Socket; > > gSystem->AddFileHandler(this); > } > > Bool_t > TSocketHandler::Notify() > { > printf("Connection request\n"); > > return kTRUE; > } > > int main( int argc, char ** argv ) > { > > TROOT ROOT("R-Quant", "R-Quant Data Analysis Studio"); > > TRint App("R-Quant Data Analysis Studio", &argc, argv, 0, 0, kTRUE); > > TServerSocket *ServerSocket = new TServerSocket(9999, kTRUE); > TSocketHandler *Handler = new TSocketHandler(ServerSocket); > > App.Run(kTRUE); > > return 0; > } > > > > > ObjSuf = obj > SrcSuf = cxx > ExeSuf = exe > DllSuf = dll > OutPutOpt = -out: > > # Win32 system with Microsoft Visual C/C++ > !include <win32.mak> > > # Compilation options (debug/release) > !include "..\option.mak" > > INCFLAGS = -I$(ROOTSYS)/include > > CC = $(cc) > CXX = $(cc) > CXXFLAGS = $(CXXOPT) $(cvarsdll) -nologo -G5 -GR -MD -DWIN32 > -DVISUAL_CPLUSPLUS -D_WINDOWS -D_FINANCE_ $(INCFLAGS) > > LD = $(link) > LDFLAGS = $(LDOPT) $(conlflags) -nologo -pdb:none > SOFLAGS = $(dlllflags:-pdb:none=) > ROOTLIBS = $(ROOTSYS)/lib/libCore.lib \ > $(ROOTSYS)/lib/libCint.lib $(ROOTSYS)/lib/libHist.lib \ > $(ROOTSYS)/lib/libGraf.lib $(ROOTSYS)/lib/libGraf3d.lib > \ > $(ROOTSYS)/lib/libGpad.lib $(ROOTSYS)/lib/libTree.lib \ > $(ROOTSYS)/lib/libRint.lib > $(ROOTSYS)/lib/libPostscript.lib \ > $(ROOTSYS)/lib/libMatrix.lib > $(ROOTSYS)/lib/libPhysics.lib \ > $(ROOTSYS)/lib/libGui.lib > > > LIBS = $(ROOTLIBS) $(QTLIBS) $(RQUANTLIBS) $(guilibsdll) > MSVCIRT.LIB > > #------------------------------------------------------------------------------ > > RQUANTO = test.$(ObjSuf) > > RQUANT = test.$(ExeSuf) > > $(RQUANT): $(RQUANTO) > $(LD) $(LDFLAGS) $(RQUANTO) $(LIBS) > $(OutPutOpt)$(RQUANT) > @echo "RQUANT done" > > > > # ---------------------------------- RQUANT > ---------------------------------------------------- > > > # RQuant > > test.$(ObjSuf) : test.cxx > $(CXX) test.cxx $(CXXFLAGS) -c > > > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:41 MET