Sponsored Content
Top Forums Shell Programming and Scripting Inappropriate ioctl for device Post 81082 by RishiPahuja on Tuesday 16th of August 2005 09:51:33 AM
Old 08-16-2005
Data

yes, as I told I am not in position to add echo statments but there do exists a echo statment and data echoed is perfectly visible in log.

After tht echo call only the C executable is invoker with appropiate arguments.

Why i am worried with this pieve of code specifically is we have two functioncalls sortTempInputFile and sortInputFile.

First call "sortInputFile" is always successfull while second call where only filename is different fails "sortTempInputFile"

before invoking the sort command we even check the error code.

complete code of function is:

Code:
void sortTempInputFile(char *inputFileName)
{
    char sortcmd         [1024] = "\0";
    char tmpSortFileName [1024] = "\0";
 
    iFileName[0] = '\0';
 
    if(errno)
    {
       perror(" ");
    }
 
    sprintf(tmpSortFileName, "/tmp/temp%s", "tempIRBPAVAInputFile");
 
    /* Sort by carrier ID, company #, bill to RAO, statement date, BTN, ??? */
    sprintf(sortcmd,
             "sort -k 1.132,1.135 -k 1.118,1.119 -k 1.118,1.119 "\
                  "-k 1.112,1.114 -k 1.104,1.111 -k 1.142,1.151 "\
                  "-k 1.155,1.162 %s > %s", inputFileName, tmpSortFileName);
    system(sortcmd);
 
    if(errno)
    {
       fprintf(stderr,
              "Error sorting the input file %s...\nExiting...\n",
                inputFileName);
       exit(ERR);
    }
 
    sprintf(sortcmd, "chmod 777 %s", tmpSortFileName);
    system(sortcmd);
 
    if(errno)
    {
       fprintf(stderr,"%s%s\n",
               "Error changing permissions for the temp input file ...",
               "Exiting...");
 
       exit(ERR);
    }
 
    sprintf(sortcmd, "mv -f %s %s", tmpSortFileName, inputFileName);
    system(sortcmd);
 
    if(errno)
    {
       fprintf(stderr,"Error moving the input file ...\nExiting...\n");
       exit(ERR);
    }
 
}

I greped for tty in all the scripts but could not find one...is there anyway we will be connecting to tty?
 

10 More Discussions You Might Find Interesting

1. Filesystems, Disks and Memory

Inappropriate ioctl for device

Hi, We are running a perl script to upload some data using SQL* Loader. We pipe the data in a http request to SQL*Loader which loads the data to the database. We encounter the error "Inappropirate ioctl for device" when we try to upload huge data. Any solution would be greatly appreciated.... (4 Replies)
Discussion started by: tojaiganesh
4 Replies

2. UNIX for Dummies Questions & Answers

Inappropriate ioctl for device

When I try to format a slice in Solaris 10 I get the follow error :confused: : -bash-3.00# mkfs /dev/dsk/c1d0s5 18877824 Can not determine partition size: Inappropriate ioctl for device Some format command output:.... AVAILABLE DISK SELECTIONS: 0. c1d0 <DEFAULT cyl 38735 alt 2... (0 Replies)
Discussion started by: spoonman
0 Replies

3. UNIX for Dummies Questions & Answers

Inappropriate ioctl for device

Hello, I have a cron entry: 59 23 * * * . $HOME/.profile;mydate=`date '+%Y%m%d'`;mv filename filename_$mydate Which works fine interactively, but gives me the following error when it runs in cron: Your "cron" job on servername . $HOME/.profile;mydate=`date '+ produced the... (4 Replies)
Discussion started by: steelrose
4 Replies

4. Solaris

Inappropriate ioctl for device, format error

When I try to format a slice in Solaris 10 I get the follow error : -bash-3.00# mkfs /dev/dsk/c1d0s5 18877824 Can not determine partition size: Inappropriate ioctl for device Some format command output:.... AVAILABLE DISK SELECTIONS: 0. c1d0 <DEFAULT cyl 38735 alt 2 hd 64 sec 63>... (2 Replies)
Discussion started by: spoonman
2 Replies

5. UNIX for Dummies Questions & Answers

mt command shows /dev/tape: inappropriate ioctl for device

Hello guys, on my Red Hat machine the /bin/mt status command gives the output dev/tape: inappropriate ioctl for device. This messages comes up after the Server has been rebooted. Anybody an idea? Thx masterofdesaster (8 Replies)
Discussion started by: masterofdesaste
8 Replies

6. Shell Programming and Scripting

hdparm + Inappropriate ioctl for device

Hi All, Am finding performance of my SD card using hdparm. Code: hdparm -tT /dev/BlockDev0 /dev/BlockDev0: Timing cached reads: 1118 MB in 2.00 seconds = 558.61 MB/sec HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate ioctl for device Timing buffered disk... (1 Reply)
Discussion started by: amio
1 Replies

7. Shell Programming and Scripting

tcgetattr: Inappropriate ioctl for device after ssh command

Hello everyone I am finishing a script allowing me to purge logs on multiple servers, i have one last pb with the ssh command.........it is throwing me the following error : tcgetattr: Inappropriate ioctl for device (full screen in attached file 1, full script in attached file 2) It... (15 Replies)
Discussion started by: jimmy75_13
15 Replies

8. UNIX for Advanced & Expert Users

nohup: can't detach from console: Inappropriate ioctl for device

Hi! I am getting a nohup issue on mac osx while trying to start a process through nohup in the startup script. nohup: can't detach from console: Inappropriate ioctl for device Please help! Thanks, Allan. (0 Replies)
Discussion started by: jacki
0 Replies

9. UNIX for Dummies Questions & Answers

Tcgetattr: Inappropriate ioctl for device

Hi, ssh -q -t -l $usr $host bin/test.sh I am using above command to run script remotely. script is working without any issues. but I am getting "tcgetattr: Inappropriate ioctl for device" message on console. plz help how can I avoid this message. Thanks Moved thread from Emergency... (1 Reply)
Discussion started by: Kri
1 Replies

10. Shell Programming and Scripting

Inappropriate ioctl for device

Sample program tty, this will be get called from my script test_script. #include <stdio.h> #include <unistd.h> #define TTY_NAME_MAX 32 #define STDIN_FILENO 0 /* Standard input. */ int main(void) { int ret = 0; char local_device_file; printf("\npid =... (7 Replies)
Discussion started by: Gajendra_PH
7 Replies
explain_fclose(3)					     Library Functions Manual						 explain_fclose(3)

NAME
explain_fclose - explain fclose(3) errors SYNOPSIS
#include <libexplain/fclose.h> const char *explain_fclose(FILE *fp); const char *explain_errno_fclose(int errnum, FILE *fp); void explain_message_fclose(char *message, int message_size, FILE *fp); void explain_message_errno_fclose(char *message, int message_size, int errnum, FILE *fp); DESCRIPTION
These functions may be used to obtain explanations of fclose(3) errors. explain_fclose const char *explain_fclose(FILE * fp); The explain_fclose function is used to obtain an explanation of an error returned by the fclose(3) function. The least the message will contain is the value of strerror(errno), but usually it will do much better, and indicate the underlying cause in more detail. The errno global variable will be used to obtain the error value to be decoded. This function is intended to be used in a fashion similar to the following example: if (fclose(fp)) { fprintf(stderr, "%s ", explain_fclose(fp)); exit(EXIT_FAILURE); } fp The original fp, exactly as passed to the fclose(3) system call. Returns: The message explaining the error. This message buffer is shared by all libexplain functions which do not supply a buffer in their argument list. This will be overwritten by the next call to any libexplain function which shares this buffer, including other threads. Note: This function is not thread safe, because it shares a return buffer across all threads, and many other functions in this library. Note: This function may be of little diagnostic value, because libc may have destroyed any useful context, leaving nothing for libexplain to work with (this is true of glibc in particular). For files that are open for writing, you will obtain more useful information by first calling fflush(3), as in the following example if (fflush(fp)) { fprintf(stderr, "%s ", explain_fflush(fp)); exit(EXIT_FAILURE); } if (fclose(fp)) { fprintf(stderr, "%s ", explain_fclose(fp)); exit(EXIT_FAILURE); } explain_errno_fclose const char *explain_errno_fclose(int errnum, FILE * fp); The explain_errno_fclose function is used to obtain an explanation of an error returned by the fclose(3) function. The least the message will contain is the value of strerror(errnum), but usually it will do much better, and indicate the underlying cause in more detail. This function is intended to be used in a fashion similar to the following example: if (fclose(fp)) { int err = errno; fprintf(stderr, "%s ", explain_errno_fclose(err, fp)); exit(EXIT_FAILURE); } errnum The error value to be decoded, usually obtained from the errno global variable just before this function is called. This is neces- sary if you need to call any code between the system call to be explained and this function, because many libc functions will alter the value of errno. fp The original fp, exactly as passed to the fclose(3) system call. Returns: The message explaining the error. This message buffer is shared by all libexplain functions which do not supply a buffer in their argument list. This will be overwritten by the next call to any libexplain function which shares this buffer, including other threads. Note: This function is not thread safe, because it shares a return buffer across all threads, and many other functions in this library. Note: This function may be of little diagnostic value, because libc may have destroyed any useful context, leaving nothing for libexplain to work with (this is true of glibc in particular). For files that are open for writing, you will obtain more useful information by first calling fflush(3), as in the following example if (fflush(fp)) { int err = errno; fprintf(stderr, "%s ", explain_errno_fflush(err, fp)); exit(EXIT_FAILURE); } if (fclose(fp)) { int err = errno; fprintf(stderr, "%s ", explain_errno_fclose(err, fp)); exit(EXIT_FAILURE); } explain_message_fclose void explain_message_fclose(char *message, int message_size, FILE *fp); The explain_message_fclose function is used to obtain an explanation of an error returned by the fclose(3) function. The least the message will contain is the value of strerror(errno), but usually it will do much better, and indicate the underlying cause in more detail. The errno global variable will be used to obtain the error value to be decoded. This function is intended to be used in a fashion similar to the following example: if (fclose(fp)) { char message[3000]; explain_message_fclose(message, sizeof(message), fp); fprintf(stderr, "%s ", message); exit(EXIT_FAILURE); } message The location in which to store the returned message. Because a message return buffer has been supplied, this function is thread safe. message_size The size in bytes of the location in which to store the returned message. fp The original fp, exactly as passed to the fclose(3) system call. Note: This function may be of little diagnostic value, because libc may have destroyed any useful context, leaving nothing for libexplain to work with (this is true of glibc in particular). For files that are open for writing, you will obtain more useful information by first calling fflush(3), as in the following example if (fflush(fp)) { char message[3000]; explain_message_fflush(message, sizeof(message), fp); fprintf(stderr, "%s ", message); exit(EXIT_FAILURE); } if (fclose(fp)) { char message[3000]; explain_message_fclose(message, sizeof(message), fp); fprintf(stderr, "%s ", message); exit(EXIT_FAILURE); } explain_message_errno_fclose void explain_message_errno_fclose(char *message, int message_size, int errnum, FILE *fp); The explain_message_errno_fclose function is used to obtain an explanation of an error returned by the fclose(3) function. The least the message will contain is the value of strerror(errnum), but usually it will do much better, and indicate the underlying cause in more detail. This function is intended to be used in a fashion similar to the following exameple: if (fclose(fp)) { int err = errno; char message[3000]; explain_message_errno_fclose(message, sizeof(message), err, fp); fprintf(stderr, "%s ", message); exit(EXIT_FAILURE); } message The location in which to store the returned message. Because a message return buffer has been supplied, this function is thread safe. message_size The size in bytes of the location in which to store the returned message. errnum The error value to be decoded, usually obtained from the errno global variable just before this function is called. This is neces- sary if you need to call any code between the system call to be explained and this function, because many libc functions will alter the value of errno. fp The original fp, exactly as passed to the fclose(3) system call. Note: This function may be of little diagnostic value, because libc may have destroyed any useful context, leaving nothing for libexplain to work with (this is true of glibc in particular). For files that are open for writing, you will obtain more useful information by first calling fflush(3), as in the following example if (fflush(fp)) { int err = errno; char message[3000]; explain_message_errno_fflush(message, sizeof(message), err, fp); fprintf(stderr, "%s ", message); exit(EXIT_FAILURE); } if (fclose(fp)) { int err = errno; char message[3000]; explain_message_errno_fclose(message, sizeof(message), err, fp); fprintf(stderr, "%s ", message); exit(EXIT_FAILURE); } COPYRIGHT
libexplain version 0.52 Copyright (C) 2008 Peter Miller AUTHOR
Written by Peter Miller <pmiller@opensource.org.au> explain_fclose(3)
All times are GMT -4. The time now is 06:27 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy