Télécharger ooowi1.eso

Retour à la liste

Numérotation des lignes :

ooowi1
  1. C OOOWI1 SOURCE PV090527 26/04/24 08:23:31 12524
  2. CMODE 89/09/29 15:24:48 ESOP
  3. SUBROUTINE OOOWI1 (LRET,IRET,HARG,PSEG,PSG1)
  4. C--------------------------------------------------------------------
  5. C
  6. C SEGXXX /ERR=100/ PSEG
  7. C
  8. C ->LRET 1 PLUS DE PLACE MEMOIRE ET : IRET = 1
  9. C 2 OK
  10. C
  11. C IRET ACTION SI PLUS DE PLACE MEMOIRE
  12. C 0 STOP 16
  13. C 1 RETURN AVEC LRET = 1
  14. C
  15. C HARG 'NOM_SUBROUTINE NUMERO_LIGNE NOM_SEGMENT '
  16. C
  17. C PSEG POINTEUR DESIGNANT LE SEGMENT CREE
  18. C PSG1 POINTEUR DESIGNANT LE SEGMENT COPIE
  19. C
  20. C PROGRAMMEUR : MOUGIN
  21. C CREE : 15/12/88 OOOY.. => OOOW.. (ARGUMENT HARG EN PLUS)
  22. C MODIF : 02/05/89 SEPARE D'AVEC L'ENTRY OOOWAD
  23. C
  24. C--------------------------------------------------------------------
  25. C
  26. %INC IOOADR
  27. %INC IOOADZ
  28. %INC IOODES
  29. %INC IOOSGM
  30. %INC IOOWCOM
  31. %INC IOOUNIT
  32. %INC IOOSAF
  33.  
  34. CHARACTER*(*) HARG
  35. POINTEUR PSEG.PSEG , PSG1.PSEG
  36.  
  37. C LWAIT=.TRUE. duree dans ooowait seulement
  38. C LGLL =.TRUE. duree dans ooogll seulement
  39. INTEGER ITTIME(4)
  40. LOGICAL LGLL,LWAIT
  41. CHARACTER*(6) HDUREE
  42.  
  43. HDIA = HARG
  44. LDIA = LEN(HARG)
  45.  
  46. C On saute l'ENTRY OOOYI1
  47. GOTO 100
  48.  
  49. ENTRY OOOYI1 (LRET,IRET,PSEG,PSG1)
  50. HDIA =' '
  51. LDIA = 0
  52.  
  53. 100 CONTINUE
  54. KASINS = INSTRUCTION_SEGINI_EGAL
  55.  
  56. C Logique pour chronométrer l'attente
  57. C LWAIT=.TRUE. duree dans ooowait seulement
  58. C LGLL =.TRUE. duree dans ooogll seulement
  59. LGLL =MZATTE .LT. 0 .AND. thread
  60. LWAIT =MZATTE .GT. 0
  61.  
  62. If (.NOT.THREAD.and.THREAD) write(JLST,*) ' bug compilateur aix'
  63. If (.NOT.THREAD.and.THREAD) write(JERR,*) ' bug compilateur aix'
  64.  
  65. nth=0
  66. if (thread) nth=oothrd
  67.  
  68. C Debut du Chronometre
  69. if (LGLL) CALL oootps(ITTIME,nth)
  70.  
  71. if (thread) then
  72. lnsf(oothrd)=0
  73. call ooogll(1)
  74. endif
  75.  
  76. if (LGLL) then
  77. C Fin du Chronometre : Mesure du temps
  78. ITPS0=ITTIME(1)+ITTIME(2)
  79. CALL oootps(ITTIME,nth)
  80. IELAPS=ITTIME(1)+ITTIME(2)-ITPS0
  81. endif
  82.  
  83. CALL OOOVPN(PSG1)
  84. CALL OOOIN1(LRET,PSEG,PSG1)
  85.  
  86. if (thread) then
  87. call ooogll(0)
  88. lnsf(oothrd)=1
  89. endif
  90. if(pseg.eq.abs(MZSURV)) CALL OOOMES(pseg,'GEMAT SURVEILLE ')
  91.  
  92. C Emmission du message GEMAT ATTEND apres le message SURVEILLE (regularite par rapport aux autres SEGXXX)
  93. if (LGLL .AND. IELAPS .ge. ABS(MZATTE)) then
  94. WRITE(HDUREE,'(i6)') IELAPS
  95. CALL OOOMES(PSEG,'GEMAT ATTEND'//HDUREE)
  96. endif
  97.  
  98. IF (LRET.EQ.1) THEN
  99. IF (IRET.EQ.0) GO TO 901
  100. PSEG = 0
  101. ENDIF
  102. RETURN
  103. C-----------------------------------------------------------------------
  104. C MESSAGES D'ERREUR
  105. C-----------------------------------------------------------------------
  106. 901 CALL OOOERR (0,0,'PAS ASSEZ DE PLACE EN MEMOIRE')
  107. STOP 16
  108. END
  109.  
  110.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales