Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SLRN & VMS ... hangs?

0 views
Skip to first unread message

Michael Lemke, Sternwarte Bamberg, Phone: +49-951-9522216

unread,
Dec 2, 1996, 3:00:00 AM12/2/96
to

In a message of 23 Nov 96 19:16:56 GMT, received on 23 Nov 1996, 20:35
Andrew Brennan <bre...@crashprone.allegheny.edu> wrote to Info...@Mvb.Saic.Com

> Ok ... I'm not entirely sure what's going on here, but am hoping to
> find others who are seeing similar results.
>
> I'm using SLRN 0.9.1.1 BETA on a VAX/VMS 5.5-2 (compiled with VAX C
> and using Multinet V3.5A) and I have no trouble reading a newsgroup
> or posting - but it seems to hang when entering groups from time to
> time. After a significant pause, "Writing newsrc...." will appear,
> but I can't do anything to wake the process up.

So does mine. It is broken. Only STOP/ID will stop it. $FORCEX
doesn't. Too bad John Davis refuses to get rid of the CTRL/Y trapping.
Maybe we should complain again.

Michael

--
Michael Lemke
Sternwarte Bamberg, University of Erlangen-Nürnberg, Germany
(mic...@astro.as.utexas.edu or ai...@a400.sternwarte.uni-erlangen.de)

John E. Davis

unread,
Dec 10, 1996, 3:00:00 AM12/10/96
to

On Mon, 2 Dec 1996 19:00:52 +0200, Michael Lemke, Sternwarte Bamberg, Phone: +49-951-9522216 <ai...@a400.sternwarte.uni-erlangen.de>
wrote:

>> I'm using SLRN 0.9.1.1 BETA on a VAX/VMS 5.5-2 (compiled with VAX C
>> and using Multinet V3.5A) and I have no trouble reading a newsgroup
>> or posting - but it seems to hang when entering groups from time to
>> time. After a significant pause, "Writing newsrc...." will appear,
>> but I can't do anything to wake the process up.

I do not understand why it would start to write the newsrc file when
entering a newsgroup. On unix it will do this if sent some external
signal such as SIGHUP. When this happens, slrn will write the newsrc
file and then gracefully exit.

Another possibility is that the NNTP connection has been lost in which
case slrn will try to reconnect and if it fails, it calls the function
slrn_exit_error. This function does the following:

1. Writes out the newsrc file.
2. Resets the terminal
3. Closes the server

After step 2, Ctrl-Y should work if it hangs in 3. I cannot see why
it would hang while performing step 1.

About all I can suggest is to throw it in the debugger.

>So does mine. It is broken. Only STOP/ID will stop it. $FORCEX

Do you also use MULTINET? What about NETLIB?

>doesn't. Too bad John Davis refuses to get rid of the CTRL/Y trapping.
>Maybe we should complain again.

The Ctrl-Y trapping should be added as a hook in slang/src/slvmstty.c.
A patch for that follows below. What system call should be added to
slrn? That is, in slrn.c, add:

static int vms_ctrl_y_hook (void)
{
/* whatever */

return -1;
}

int main (int argc, char **argv)
{
.
.
SLtty_VMS_Ctrl_Y_Hook = vms_ctrl_y_hook;
.
.
}

Note: this call is made from an AST and I have no clue about
what actions are safe to perform from within an AST.

Here is the patch. The declaration of SLtty_VMS_Ctrl_Y_Hook in
slang.h also needs to be added.

--- slvmstty.c~ Tue Nov 26 14:42:46 1996
+++ slvmstty.c Tue Dec 10 14:13:52 1996
@@ -29,6 +29,8 @@
#include "slang.h"
#include "_slang.h"

+/* If this function returns -1, ^Y will be added to input buffer. */
+int (*SLtty_VMS_Ctrl_Y_Hook) (void);

typedef struct { /* I/O status block */
short i_cond; /* Condition value */
@@ -129,10 +131,15 @@
SLKeyBoard_Quit = 1;
}

- if (SLang_Input_Buffer_Len < MAX_INPUT_BUFFER_LEN - 3)
- SLang_Input_Buffer[SLang_Input_Buffer_Len++] = c;
-
+ if ((c != 0x19) /* ^Y */
+ || (SLtty_VMS_Ctrl_Y_Hook == NULL)
+ || (-1 == (*SLtty_VMS_Ctrl_Y_Hook) ()))
+ {
+ if (SLang_Input_Buffer_Len < MAX_INPUT_BUFFER_LEN - 3)
+ SLang_Input_Buffer[SLang_Input_Buffer_Len++] = c;
+ }
}
+
if (Waiting_For_Ast) sys$setef (Ast_Fired_Event_Flag);
Waiting_For_Ast = 0;
vms_que_key_ast();


--
John E. Davis Center for Space Research/AXAF Science Center
617-258-8119 MIT 37-662c, Cambridge, MA 02139
http://space.mit.edu/~davis

0 new messages