Posted to tcl by ro at Sun Feb 20 00:44:46 GMT 2011view raw

  1. int eproc (Tcl_Event *evPtr, int flags)
  2. {
  3. Tcl_Eval(QTERP, "set x [clock micro]");
  4. Tcl_Eval(QTERP, "boob");
  5. return 1;
  6. }
  7.  
  8.  
  9. void CALLBACK cbproc (UINT uTimerID, UINT uMsg,
  10. DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2)
  11. {
  12.  
  13. Tcl_Event *tee;
  14.  
  15. tee = (Tcl_Event *)ckalloc(sizeof(Tcl_Event));
  16. tee->proc = eproc;
  17. Tcl_ThreadQueueEvent(VTHREAD, tee, TCL_QUEUE_HEAD);
  18. Tcl_ThreadAlert(VTHREAD);
  19.  
  20. }
  21.  
  22. int MmtimersTimeSetEventCmd(ClientData clientdata, Tcl_Interp *interp,
  23. int objc, Tcl_Obj *const objv[])
  24. {
  25.  
  26. VTHREAD = Tcl_GetCurrentThread();
  27.  
  28. timeSetEvent(4, 0, cbproc, 0, TIME_ONESHOT | TIME_CALLBACK_FUNCTION);
  29.  
  30. return TCL_OK;
  31. }
  32.  
  33.