mirror of
git://git.psyced.org/git/psyced
synced 2024-08-15 03:25:10 +00:00
unlink detection rewrite - please test this
This commit is contained in:
parent
6b8e138eb4
commit
b4867481f4
7 changed files with 70 additions and 36 deletions
|
@ -1,6 +1,7 @@
|
|||
// $Id: user.c,v 1.15 2008/12/09 19:27:32 lynx Exp $ // vim:syntax=lpc
|
||||
//
|
||||
// handler for PSYC clients
|
||||
// should be a dummy user object since all user objects
|
||||
// must be able to handle PSYC clients
|
||||
|
||||
#include "common.h"
|
||||
#include <net.h>
|
||||
|
@ -12,14 +13,19 @@ logon() {
|
|||
#ifdef NO_EXTERNAL_LOGINS
|
||||
return destruct(ME);
|
||||
#endif
|
||||
#if 0
|
||||
// psyc users dont have their own socket, so the driver
|
||||
// does not call disconnected() for them - this enables the
|
||||
// psyc socket to do that
|
||||
if (this_interactive()) this_interactive()->do_notify_on_disconnect(ME);
|
||||
// basically a good idea, but the wrong place to do this. since we
|
||||
// want to be notified about any of n possible psyc clients we need
|
||||
// to do this in linkSet(). --lynX
|
||||
if (this_interactive()) this_interactive()->register_link(ME);
|
||||
// connection that is creating us, died while we got here.
|
||||
// rare, but does indeed happen sometimes.
|
||||
else return destruct(ME);
|
||||
|
||||
// i presume the else case is better handled by disconnected() --lynX
|
||||
#endif
|
||||
// no lang support here either
|
||||
vSet("scheme", "psyc");
|
||||
return ::logon();
|
||||
|
@ -27,10 +33,10 @@ logon() {
|
|||
|
||||
// errors only, it says
|
||||
pr(mc, fmt, a,b,c,d,e,f,g,h) {
|
||||
#if 1 //def PRO_PATH
|
||||
if (abbrev("_message",mc)) return;
|
||||
if (v("location"))
|
||||
sendmsg(v("location"), mc+"_print", sprintf(fmt, a,b,c,d,e,f,g,h) );
|
||||
#if 1 //ndef DEVELOPMENT
|
||||
//if (abbrev("_message",mc)) return;
|
||||
foreach (string location : v("locations")[0])
|
||||
sendmsg(location, mc+"_print", sprintf(fmt, a,b,c,d,e,f,g,h) );
|
||||
#else
|
||||
// checkVar() still calls pr() .... grmlblmblm TODO
|
||||
raise_error("pr() called\n");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue