[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with (eq? ...) and Serveez

From: Roland Besserer
Subject: Re: Problem with (eq? ...) and Serveez
Date: 28 Jan 2004 09:59:10 -0800
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

Understood and I appreciate the details on the Serveez callback
allocation but ... I had already traversed the equal?, eqv?, eq?
path - identical results.

It appears that neither comparing for actual object equivalence
(which I incorrectly assumed would be the case) nor content
equivalence via equal? returns true. I probably should've been
clearer in my original post.



Stephen Compall<address@hidden> writes:

> Roland Besserer<address@hidden> writes:
> > Why does eq? fail in the second case?
> > Any pointers would be welcome.
> Because, each time Serveez calls your callback function, it remakes
> the smob that contains the socket.  It doesn't matter that the filedes
> is the same; that is a case for equal?, just as the characters in a
> string are a case for equal? not eq?.
> The relevant code is in guile-server.c.  Each of the callbacks has a
> wrapper.  Take guile_func_kicked_socket for example.  It calls
> MAKE_SMOB (svz_socket, sock), which effectively calls the expansion of
> GUILE_CONCAT3(guile_,svz_socket,create), a function that calls the
> expansion of SCM_RETURN_NEWSMOB.  A new smob can't be eq? to anything
> already in the system.
> --
> Stephen Compall or s11 or sirian
> understand, v.:
>       To reach a point, in your investigation of some subject, at which
>       you cease to examine what is really present, and operate on the
>       basis of your own internal model instead.
> Firewalls Roswell Medco Ron Brown counter intelligence kilo class
> Noriega espionage Verisign smuggle AMEMB MD5 LABLINK SEAL Team 6 fraud

Roland Besserer
Distinguished Member of Technical Staff
Motorola Broadband Communications Sector
55 Las Colinas Lane
San Jose, CA 95119
+1 408 284 6181
+1 408 504 4178 GSM

reply via email to

[Prev in Thread] Current Thread [Next in Thread]