mIRC Home    About    Download    Register    News    Help

Print Thread
Joined: Mar 2008
Posts: 95
B
BhaaL Offline OP
Babel fish
OP Offline
Babel fish
B
Joined: Mar 2008
Posts: 95
I've noticed this a bunch since I updated to 7.78, but only gotten around now to actually create a thread for it.

Mostly for historical reasons (and to satisfy my muscle memory), I got an alias that basically runs /server -m Server1 | server -m Server2 | server -m Server3 | server -m Server4 | server -m Server5 | server -m Server6
With the initial connection, that gets me onto the networks I frequent. Those used to be direct IRC addresses with a few more options, but since SASL etc. became built-in I changed those into saved servers with appropriate settings.

Starting with 7.78, this hangs mIRC ever so slightly until all connections are established. My MP3 player script keeps playing, but it doesn't react to button clicks (not in the UI, not in my DLL extension that adds a few taskbar buttons using ITaskbarList3::ThumbBarAddButtons) until that's done. Neither does the rest of the UI, but it doesn't go into "App not responding" mode (which might be by chance only, and not by choice).

I'm guessing there were some changes to how connections are switched (select()) or threads are managed? At least that's what my gut tells me might have happened there.
I have yet to try this with a clean portable version that doesn't load my scripts, but aside from a bunch of server-specific auto-joins (as ON CONNECT) there isn't anything obvious that would run during the connection phase that could affect this.
I also want to try out using the On startup -> Connect to server option (that I apparently missed back when I updated my alias), but I don't think I can get to that before the weekend.

Joined: Jul 2006
Posts: 4,187
W
Hoopy frood
Offline
Hoopy frood
W
Joined: Jul 2006
Posts: 4,187
Are you using SSL? If you are, it could be the problem.


#mircscripting @ irc.swiftirc.net == the best mIRC help channel
Joined: Dec 2002
Posts: 5,493
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 5,493
I'm afraid this is due to OpenSSL v3.x which has a much slower SSL_CTX_load_verify_locations() function. After the move to OpenSSL v3.x in mIRC v7.73, the next version, v7.74, changed how this function is called to minimize the slow-down when multiple connections are opened at the same time. However, it is still slower than older versions of OpenSSL, and there will inevitably be a pause, especially since mIRC is a single-threaded application.

Joined: Mar 2008
Posts: 95
B
BhaaL Offline OP
Babel fish
OP Offline
Babel fish
B
Joined: Mar 2008
Posts: 95
Originally Posted by Wims
Are you using SSL? If you are, it could be the problem.
Yes, all of them SSL. I kinda remembered that fact after walking away, but I couldn't see my thread to edit that in by then because it was pending approval.

Originally Posted by Khaled
I'm afraid this is due to OpenSSL v3.x which has a much slower SSL_CTX_load_verify_locations() function. After the move to OpenSSL v3.x in mIRC v7.73, the next version, v7.74, changed how this function is called to minimize the slow-down when multiple connections are opened at the same time. However, it is still slower than older versions of OpenSSL, and there will inevitably be a pause, especially since mIRC is a single-threaded application.
Alright, I had this suspicion, and both you/Wims confirmed that. I'll learn to live with it, it's not like it is more often than once a day after boot up.

Thanks!


Link Copied to Clipboard