<<< DISK$DATA:[NOTES$LIBRARY]VAX_VMS.NOTE;1 >>> -< SIG VAX/VMS >- ================================================================================ Note 1221.0 2 pb $GETDVI 6 replies DECUSF::NOLIN_PH "NOLIN Ph. S.A.G.E.M. Argenteuil" 14 lines 12-MAR-1991 13:55 -------------------------------------------------------------------------------- 1) Pourquoi la commande f$getdvi("TTA2","ALL") repond-t-elle FALSE alors que la commande alloc TTA2 repond %SYSTEM-W-DEVALLOC, device already allocated to another user sachant que TTA2 est en cours d'utilisation par KERMIT (et qu'il n'y a pas eu de $ ALLOC explicite) (La reponse est TRUE si auparavant j'ai fait un $ ALLOC TTA2) ? 2) Comment recuperer par $GETDVI les 'retention period' d'un disque ? ================================================================================ Note 1221.1 2 pb $GETDVI 1 of 6 DECUSF::BROWN_N "Nick BROWN, Conseil de l'Europe" 8 lines 12-MAR-1991 15:42 -< ALLOCATED != ALLOCATED >- -------------------------------------------------------------------------------- > alors que la commande alloc TTA2 repond > %SYSTEM-W-DEVALLOC, device already allocated to another user F$GETDVI is right (nobody else has allocated the device); the error message should really read "device already allocated to another user, OR a process has channels assigned". Try (f$getdvi("TTA2", "PID") .nes. "") ================================================================================ Note 1221.2 2 pb $GETDVI 2 of 6 DECUSF::OURGHANLIA_B 25 lines 12-MAR-1991 16:11 -< answers. >- -------------------------------------------------------------------------------- C'est le "vieux" probleme lie a la nuance entre allocation implicite et explicite de peripherique... Dans les 2 cas le PID du process qui a alloue le peripherique est stocke dans l'UCB, MAIS dans le cas d'une allocation explicite, le "device allocated bit" (DEV$V_ALL dans UCB$L_DEVCHAR) est positionne : c'est lui qui est retourne par F$GETDVI("device","ALL"). Dans le cas d'un allocation implicite, ce bit n'est PAS positionne. De meme, le reference count (UCB$W_REFC) est incremente dans le cas d'un allocation explicite alors qu'il ne l'est pas dans le cas d'une allocation implicite. Une facon de tester si un terminal est alloue est donc de tester l'existence d'un PID s'il existe par F$GETDVI("TTA2:","PID") ou de tenter d'allouer le terminal en question et de gerer convenablement le status. Pour ce qui est de la recuperation de la periode de retention d'un disque par $GETDVI, cela n'est pas possible... Il y a 3 solutions possibles... : . $SHOW DEVICE/FULL/OUT=DEV.TMP + SEARCH DEV.TMP . Depouiller le VCB (Exec Mode) VCB$Q_RETAINMIN et VCB$Q_RETAINMAX (c'est ce que fait $SHOW DEVICE) . Formatter le "Home Block" Je peux poster un brico pour cela... ================================================================================ Note 1221.3 2 pb $GETDVI 3 of 6 DECUSF::NOLIN_PH "NOLIN Ph. S.A.G.E.M. Argenteuil" 2 lines 13-MAR-1991 06:22 -< Merci >- -------------------------------------------------------------------------------- Merci pour les explications ; si le brico peut etre poste, je suis preneur . ================================================================================ Note 1221.4 2 pb $GETDVI 4 of 6 DECUSF::NOLIN_PH "NOLIN Ph. S.A.G.E.M. Argenteuil" 1 line 15-MAR-1991 14:50 -< Un exemple ? >- -------------------------------------------------------------------------------- Pourrais-je obtenir un exemple d'epouillage du VCB ? SVP Merci ================================================================================ Note 1221.5 2 pb $GETDVI 5 of 6 DECUSF::OURGHANLIA_B 2 lines 15-MAR-1991 15:06 -< VMS:DISPLAY.MAR >- -------------------------------------------------------------------------------- Pas le VCB, le Home Block.... Voir VMS:DISPLAY.MAR . Enjoy ! ================================================================================ Note 1221.6 2 pb $GETDVI 6 of 6 DECUSF::NOLIN_PH "NOLIN Ph. S.A.G.E.M. Argenteuil" 1 line 15-MAR-1991 15:22 -< merci >- --------------------------------------------------------------------------------