> You might modify the sdasync verb in socket.ijs by sending a mousemove
 > message to a isigraph inside a form and filling its wparam lparam with
 > socket id and event id.  Inside the form you write a verb for
 > mousemove event of that isigraph and re-interpret its mouse co-ordinates
 > as socket id. Once you know the socket id and event type you can
 > process without sdselect.
 >

Well, that's a new trick.  If I may trouble you: how do I send
a mousemove event to a particular isigraph?

And, isn't there some special event that we can use for talking
to J applications?  I've never needed to know about it, but do
you know how you would send it?

Henry Rich

bill lam wrote:
> On Thu, 19 Feb 2009, Henry Rich wrote:
>> Error means OOB?  Wow.  How'd you learn that?
>  
> I did not look at the details of winsock for several years so my
> memory might not serve me, please re-check for accuracy.
> 
>> You are saying socket_handler is edge-triggered on read and write, but 
>> what I have seen (if I tested correctly) is that it is edge-triggered 
>> only on write, and on read it calls whenever there is work.  So:
> 
> It also applies to read in that it will only trigger an event for a
> particular socket once. If you choose to ignore, that socket will not
> trigger another read event again.  However if you do a sdread, the mask
> flag is cleared and it will trigger again.
>  
>> data arrives on sockets 0 and 1
>> socket_handler is called
>> it reads socket 0 
>> socket_handler exits
>> socket_handler is immediately called again  
> 
> This should be trigger by socket 0 (which is re-enabled after sdread)
> or socket 1 (which is already inside message queue),
>  
>> or
>>
>>
>> data arrives on socket 0
>> socket_handler is called
>> it reads socket 0, but only part of the data
>> socket_handler exits
>> socket_handler is immediately called again
> 
> same as above, read event is re-enabled after sdread.
> 
>>
>>  > The sdasync actually provide information for the identification of
>>  > socket and the type of event.  If you process this message then it is
>>  > no need to do sdselect.
>>  >
>>
>> I don't understand what you mean here.  What message are you talking 
>> about, and how do I process it?  (Are you hinting at a general way of 
>> handling messages that wd doesn't support?  That would be great.)
>>
> 
> You might modify the sdasync verb in socket.ijs by sending a mousemove
> message to a isigraph inside a form and filling its wparam lparam with
> socket id and event id.  Inside the form you write a verb for
> mousemove event of that isigraph and re-interpret its mouse co-ordinates
> as socket id. Once you know the socket id and event type you can
> process without sdselect.
> 
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to