Sponsored Content
Top Forums Programming Number of bytes in terminal input queue w/o blocking and consuming? Post 302281893 by jim mcnamara on Thursday 29th of January 2009 05:38:55 PM
Old 01-29-2009
poll() and select() returning guarantees that an attempted read will not block, it does not guarantee what will happen - error condition, EOF, whatever.

This is what POSIX says:
Quote:
A descriptor shall be considered ready for reading when a call to an input function with O_NONBLOCK clear would not block, whether or not the function would transfer data successfully. (The function might return data, an end-of-file indication, or an error other than one indicating that it is blocked, and in each of these cases the descriptor shall be considered ready for reading.)
Plus, there is no way to know how many bytes can be read if a read were successful.
Try just reading a single byte then poll() or select().
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help on counting number of bytes in a field

Hi, I have a file that has 300 records with a load of fields. two of them are: field_1 has between 8-9 bytes i.e. 012345678, 0123456789 field_2 has 10 bytes i.e. 01234567890 I want to be able to echo out the total of each of these fields i.e. 200 (have 8 - 9 bytes) 100 (have 10 bytes)... (3 Replies)
Discussion started by: Pablo_beezo
3 Replies

2. UNIX for Dummies Questions & Answers

Display just CPU run queue number (Nothing Else)

Im using the vmstat command to display the CPU run queue, but i want to put that into a program so is there a way to just display the number under the r? Thanks, (1 Reply)
Discussion started by: RAFC_99
1 Replies

3. Shell Programming and Scripting

AWK input can not be longer than 3000 bytes

Hi, i have following line in my code. eport.pl < $4 | dos2ux | head -2000 | paste -sd\| - | awk -v S="$1" ' Issue is, i get a message saying "awk:input line | found /file/path cannot be longer than 3000 bytes." "source line number is 3" Can someone help me with this please? (4 Replies)
Discussion started by: usustarr
4 Replies

4. AIX

Maximum number of Print Queue on AIX?

Hi, Currently we are experiencing qdaemon died, hourly. We have more than 10,000 print queue on AIX 5.3. Would this cause the qdaemon to die? What is the maximum number of print queue on AIX 5.3? Thank you in advance. (0 Replies)
Discussion started by: raybakh
0 Replies

5. Shell Programming and Scripting

count of files and number of bytes

1) I need a shell code to count the number of files ( without directories or sub-directories ) in a directory given as arguments I tried this code but it didn't work , maybe I tried the wrong one: numOfFiles=`find $1 -type f -maxdepth 1 | wc -l` I found it in another thread in this site.. ... (17 Replies)
Discussion started by: jack1985
17 Replies

6. Shell Programming and Scripting

awk: Input line Cannot be longer than 3,000 bytes.

Guys, I want to get the high CPU utilization from top. I am using below code : top -d2 >> /home/dba_monitoring/host_top_output.txt echo "Script started `date`" > $runlog usage=`grep "^ *$1" /home/dba_monitoring/host_top_output.txt | awk '{print $12}' | sed 's/%//'` And getting below... (7 Replies)
Discussion started by: wahab
7 Replies

7. Programming

How to get the number of bytes parsed in libxml2

Hi, I am using the libxml2 sax parser to parse a in memory xml string along with validating it against a schema. I am using the following code: xmlSAXHandlerPtr sax_ = new xmlSAXHandler(); sax_->initialized = XML_SAX2_MAGIC; sax_->startElementNs =... (0 Replies)
Discussion started by: Sam Krishna
0 Replies

8. Shell Programming and Scripting

Bash script to find the number of files and identify which ones are 0 bytes.

I am writing a bash script to find out all the files in a directory which are empty. I am running into multiple issues. I will really appreciate if someone can please help me. #!/bin/bash DATE=$(date +%m%d%y) TIME=$(date +%H%M) DIR="/home/statsetl/input/civil/test" ... (1 Reply)
Discussion started by: monasharma13
1 Replies

9. UNIX for Dummies Questions & Answers

X bytes of 0, Y bytes of random data, Z bytes of 5, T bytes of 1. ??

Hello guys. I really hope someone will help me with this one.. So, I have to write this script who: - creates a file home/student/vmdisk of 10 mb - formats that file to ext3 - mounts that partition to /mnt/partition - creates a file /mnt/partition/data. In this file, there will... (1 Reply)
Discussion started by: razolo13
1 Replies

10. Shell Programming and Scripting

Shell script - entered input(1-40 bytes) needs to be converted exactly 40 bytes

hello, suppose, entered input is of 1-40 bytes, i need it to be converted to 40 bytes exactly. example: if i have entered my name anywhere between 1-40 i want it to be stored with 40 bytes exactly. enter your name: donald duck (this is of 11 bytes) expected is as below - display 11... (3 Replies)
Discussion started by: shravan.300
3 Replies
XtAppPeekEvent()														  XtAppPeekEvent()

Name
  XtAppPeekEvent - return, but do not remove the event at the head of an application's input queue; block if no events are available.

Synopsis
  Boolean XtAppPeekEvent(app_context, event_return)
	 XtAppContext app_context;
	 XEvent *event_return;

Inputs
  app_context
	    Specifies the application context.

Outputs
  event_return
	    Returns the event from the head of the queue, if that event is an X event.

Returns
  True if the event at the head of the queue is an X event; False if it is a timer event or an alternate input source event.

Description
  If  there  are  X  events pending on any of the displays in app_context, XtAppPeekEvent() copies the event from the head of the application
  event queue into event_return (without removing the event from the queue) and returns True.  If there are no events, it flushes the  output
  buffers  of each display and checks again.  If there are still no pending X events on any of the displays, but there are timer or alternate
  input events ready, XtAppPeekEvent() returns False.

  If there are no events of any kind, XtAppPeekEvent() blocks until one occurs, and then if it is an  X  event,  copies  the  event  (without
  removing it from the queue) and returns True or returns False otherwise.  Note that XtAppPeekEvent() never calls background work procedures
  registered with XtAppAddWorkProc() .

Usage
  Programs rarely need this much control over the event dispatching mechanism.	Most programs use XtAppMainLoop().

  If you want to get X events and remove them from the input queue, consider XtAppNextEvent().	 This  function  also  dispatches  timer  and
  alternate input events.

  If  you  want  to check for input events without blocking, use XtAppPending().  This function returns a value that indicates which types of
  events are pending for an application context, or 0 if no events are pending.

See Also
  XtAppMainLoop(1), XtAppNextEvent(1), XtAppPending(1).

Xt - Event Handling														  XtAppPeekEvent()
All times are GMT -4. The time now is 01:30 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy