From: weiden@svn.reactos.com
moved smdll to rosrtl. We just _can't_ have separate dlls for everything internal, that's what static libraries are for. Unless we want a dll hell even worse than necessary...
I think you are acting unbelievably rude here. Please revert your change and discuss this on the mailinglist first.
Gé van Geldorp.
Ge van Geldorp wrote:
I think you are acting unbelievably rude here. Please revert your change and discuss this on the mailinglist first.
You're right, I apologize for moving it without permission. If anyone or if the majority thinks this change was right, someone may do it again, I'm not going to anymore. Same applies for epsapi and expat.
Best Regards Thomas
-----Original Message----- From: ros-dev-bounces@reactos.com [mailto:ros-dev-bounces@reactos.com] On Behalf Of Thomas Weidenmueller Sent: 7. februar 2005 13:59 To: ReactOS Development List Subject: Re: [ros-dev] RE: [weiden] 13459: moved smdll to rosrtl. We just_can't_have separate dlls for everything internal,that's what static librariesare for. Unless we want a dll hell evenworse than necessary...
Ge van Geldorp wrote:
I think you are acting unbelievably rude here. Please revert your change and discuss this on the mailinglist first.
You're right, I apologize for moving it without permission. If anyone or if the majority thinks this change was right, someone may do it again, I'm not going to anymore. Same applies for epsapi and expat.
Best Regards
Rosrtl isn't an obvious place to put it. I think it should be a separate module as before, but possibly a static library instead since it is so small.
Casper
Thomas Weidenmueller wrote:
Ge van Geldorp wrote:
I think you are acting unbelievably rude here. Please revert your change and discuss this on the mailinglist first.
You're right, I apologize for moving it without permission. If anyone or if the majority thinks this change was right, someone may do it again, I'm not going to anymore. Same applies for epsapi and expat.
I am sorry that little library caused so much noise. I hope a long explanation won't hurt you. I could not decide if it should be a static, or a dynamic library (I should have sent it as static to Alex), or even something else, but a few days ago I recalled what Alex himself quoted about LPC - "Security through obscurity" - and I decided to make it dynamic. It is ridiculously small, but it is the client side library for clients of the Session Manager subsystem server. It is wat kernel32 is for the W32 subsystem. This is a new concept, or an implicit one in the NT architecture. Possibly, it is the obscurity brought by the implicit idea of having environment servers running as clients of the session manager, that has prevented, up to present days, anyone developing new subsystems. MS made it a static library, I suppose, but I guess not because it is that small. Examples of really small components are csrss.exe (6144 bytes, in XPSP2IT), and csrsrv.dll (32768 bytes, in XPSP2IT: this one is the server #0 that csrss hosts and was removed in NT 4.0, but was reborn in NT 5.x). As csrsrv.dll shows up again since NT 5.0, I deduced I had not to put smdll code in ntdll.
I actually don't know what is the right place for this code, because it does not exist in a visible library in The Real Thing, but I chose that place for coherence with other subsystems.
At present, code is unfinished and off main line also in smss, therefore, moving it to a proper place is to you.
ea wrote:
Thomas Weidenmueller wrote:
Ge van Geldorp wrote:
I think you are acting unbelievably rude here. Please revert your change and discuss this on the mailinglist first.
You're right, I apologize for moving it without permission. If anyone or if the majority thinks this change was right, someone may do it again, I'm not going to anymore. Same applies for epsapi and expat.
I am sorry that little library caused so much noise. I hope a long explanation won't hurt you. I could not decide if it should be a static, or a dynamic library (I should have sent it as static to Alex), or even something else, but a few days ago I recalled what Alex himself quoted about LPC - "Security through obscurity" - and I decided to make it dynamic. It is ridiculously small, but it is the client side library for clients of the Session Manager subsystem server.
I would make it static if I were you, but only when it's complete. Dynamic libraries are much easier to debug, but if it's not in the "Real Thing" then it should be static..it's also faster ;)
It is wat kernel32 is for the W32 subsystem. This is a new concept, or an implicit one in the NT architecture. Possibly, it is the obscurity brought by the implicit idea of having environment servers running as clients of the session manager, that has prevented, up to present days, anyone developing new subsystems. MS made it a static library, I suppose, but I guess not because it is that small.
I'll look into this... my work on LPC has been indefintely delayed due to some other projects, but I've done a lot of research on csrss. I have the full APIs/Structures used and I'm making a document out of it (Slowly)..it won't be much use to ROS since we supposedly don't want to clone NT so much (and I agree, this is ultra internal stuff that doesn't need to be cloned..nobody should know how to talk to crsrss (but maybe they all will start making programs after I publish the docs :P). But I've never looked at smss much... there is however a document from MS that shows how to create your own subsystem... I'll look into it and see what I can find out for you.
Examples of really small components are csrss.exe (6144 bytes, in XPSP2IT),
Dumb loader which loads the csr dlls.
and csrsrv.dll (32768 bytes, in XPSP2IT: this one is the server #0 that csrss hosts and was removed in NT 4.0, but was reborn in NT 5.x). As csrsrv.dll shows up again since NT 5.0, I deduced I had not to put smdll code in ntdll.
Right, a very confusing concept of CSRSS, the externel CSR Server "Server" DLL.
I actually don't know what is the right place for this code, because it does not exist in a visible library in The Real Thing, but I chose that place for coherence with other subsystems.
At present, code is unfinished and off main line also in smss, therefore, moving it to a proper place is to you.
I would leave it as you created it, but make it static later on... but I'm pretty sure MS has this in a dyn dll somewhere.
Best regards, Alex Ionescu