[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2005
    Beiträge
    49

    sleep() bzw. usleep() funktionieren nicht

    Hallo,

    ich habe mit den beiden C-Routinen ein Problem, da sie nicht funktionieren wie sie sollten! Bei usleep(5000000) sollte der Job 5 Sekunden warten - macht er aber nicht. Im Debugmodus wird ohne Delay die nächste Instruktion ausgeführt. Ich bin mit meinem Latein am Ende!
    Die Funktion Sleep(5) verzögert lt. Debug etwas mehr als 5 Sekunden? Also ich weiss nicht mehr wo der Fehler liegen kann.
    Auszug aus PGM:
    Dsleep pr 10i 0 extproc('sleep')
    D interval 10u 0 value

    Dusleep pr 10i 0 extproc('usleep')
    D microseconds 10u 0 value


    Im Programm sieht die Verzögerung so aus:

    // Berechnung neue Aufrufzeit
    write key; // Funktionstasten
    write auslctl; // Sub-Datei

    Nexttime = %time() + %seconds(psleep); // nächste Subfileaktualisierung

    usleep(5000000); // 5 Sek. Verzögerung bis zur nächsten SBF-Aktualisierung



    Die Compilierung des Moduls verläuft ohne Fehler. Das Programm läuft bis auf die Verzögerung auch. Hat jemand eine Idee warum die beiden C-Funktionen nicht richtig funktionieren?

    Vielen Dank im Voraus

    Hermann

  2. #2
    Registriert seit
    Nov 2003
    Beiträge
    2.267

    usleep()--Suspend Processing for Interval of Time


    Error Conditions > EINVAL > The time interval specified 1,000,000 or more microseconds.

  3. #3
    Registriert seit
    Jan 2012
    Beiträge
    853
    Es gibt noch die Funktion sleep. Die bekommt Sekunden als Parameter:

    D sleep PR 10U 0 extproc('sleep')
    D seconds 10U 0 value

  4. #4
    Registriert seit
    Apr 2005
    Beiträge
    49
    Vielen Dank für Eure Antworten! Mir war nicht bewusst, dass usleep() nur bis 999.999 Mikrosekunden arbeiten kann (Danke für die Doku Pikachu). Ich habe mich vom 10 stelligen unsigned Field beirren lassen. Da meiner Meinung nach die Sleep() Funktion auch nicht präzise arbeitet versuche ich mehrere usleep() Anweisungen hintereinander.

    Danke Euch allen
    Hermann

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    18.009
    Vielleicht geht einfach DLYJOB per CLP?
    Und genau sind die auch nicht.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •