caput program status doesn't flag rejected put

Bug #541263 reported by Andrew Johnson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
Fix Released
Wishlist
Andrew Johnson

Bug Description

When a caput operation gets rejected by the server for some reason, it would be nice if the return status from the src/catools/caput program somehow reflected that. It currently appears to reflect the status of the subsequent caget operation, which usually succeeds even if the put didn't.

Steps to reproduce:
Use caput to set the wrong kind of hardware address to the INP or OUT field of a record with a DTYP that is not soft channel. In this example, the DTYP requires a BITBUS_IO address but I'm giving it a VME_IO:

saturn% bin/linux-x86/caput -t anjHost:mbbi.INP "#C0 S0 @"
CA.Client.Exception.......................................
    Warning: "Channel write request failed"
    Context: "op=1, channel=anjHost:mbbi.INP,
             type=DBR_STRING, count=1, ctx="anjHost:mbbi""
    Source File: ../oldChannelNotify.cpp line 164
    Current Time: Wed Nov 16 2005 17:06:09.955082000
..........................................................
#L0 N0 P0 S0 @
saturn% echo $status
0

Additional information:
This may become more important with extended device support since the rejection of puts will happen more often when live address changes are refused.

Put failures are not handled very well by most CA clients, even the sequencer doesn't provide any direct way to find out whether a pvPut() was rejected by the server.

Version: R3.14.7

Original Mantis Bug: mantis-226
    http://www.aps.anl.gov/epics/mantis/view_bug_page.php?f_id=226

Tags: 3.14 3.14.7
Revision history for this message
Andrew Johnson (anj) wrote :

I'm not expecting a fix for this in R3.14.8...

Revision history for this message
Andrew Johnson (anj) wrote :

This was fixed at some point in the past, probably when the '-c' option was added to use ca_put_callback():

gaea% bin/solaris-sparc/caput -c anjHost:aiExample.INP "wrong"
Old : anjHost:aiExample.INP anjHost:calcExample NPP NMS
Error occured writing data.
gaea% echo $status
1

Revision history for this message
Andrew Johnson (anj) wrote :

R3.14.10 released.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.