Hi Guys
[sending this to tech-talk instead of private mailing group, hope you are all
subscribed]
I finally managed to find the time to investigate this issue in depth. The
proposed fix below goes in the right direction, but fails to account for some
subtleties. I won't go into the details here, look at the latest patches in
the darcs repo if you are interested.
The latest snapshot I uploaded contains not only the fix but also a regression
tests that fails without it.
This snapshot is my candidate for an upcoming 2.1.5 release. So, if you have
any remaining issues with seq-2.1.4, this is the time to speak up ;-)
Cheers
Ben
Am Montag, 23. Januar 2012, 23:39:04 schrieb Kim, Kukhee:
> Dear Benjamin;
>
> My colleague Mike Zelazny found that, when he re-assign PV to the variable
> which already connected to other PV. the new sequence generated warning
> messages such as the followings.
>
> errlog: 60 messages were discarded
> sevr=minor PIOPDISP_STRING connect event but already connected
> KLYS:B34:31:PIOPDISPR9.DESC sevr=minor COLOR connect event but already
> connected KLYS:B34:31:PIOPDISPR9 sevr=minor PIOPDISP_STRING connect event
> but already connected KLYS:B34:31:PIOPDISPR10.DESC sevr=minor COLOR
> connect event but already connected KLYS:B34:31:PIOPDISPR10 sevr=minor
> PIOPDISP_STRING connect event but already connected
> KLYS:B34:31:PIOPDISPR11.DESC
>
>
> I guess, the seq_pvAssign() could not handle the "re-assign" situation
> correctly. So, I would like to make a small change in the seq_pvAssign()
> in the src/seq/seq_if.c.
>
> Please, look at the followings, give me your advice.
>
> epicsShareFunc pvStat epicsShareAPI seq_pvAssign(SS_ID ss, VAR_ID varId,
> const char *pvName) { SPROG *sp = ss->sprog;
> CHAN *ch = sp->chan + varId;
> pvStat status = pvStatOK;
> DBCHAN *dbch = ch->dbch;
>
> if (!pvName) pvName = "";
>
> DEBUG("Assign %s to \"%s\"\n", ch->varName, pvName);
>
> epicsMutexMustLock(sp->programLock);
>
> if (dbch) /* disconnect if connected */
> {
> status = pvVarDestroy(dbch->pvid);
> dbch->pvid = NULL;
> sp->assignCount -= 1; /* ADDED */
> if(dbch->connected) { /* ADDED */
> dbch->connected = FALSE; /* ADDED */
> sp->connectCount -= 1; /* ADDED */
> } /* ADDED */
>
>
> if (status != pvStatOK)
>
>
> Thank you.
> Best regards,
> Kukhee
>
> --------------------------------------------
> Kukhee Kim
> SLAC National Accelerator Laboratory
> 2575 Sand Hill Rd, MS 64
> Menlo Park, CA 94025
> Email: [email protected]
> Phone: (650)926-4912
________________________________
Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.
Aufsichtsrat: Vorsitzender Prof. Dr. Dr. h.c. mult. Joachim Treusch, stv. Vorsitzende Dr. Beatrix Vierkorn-Rudolph
Geschäftsführerin: Prof. Dr. Anke Rita Kaysser-Pyzalla
Sitz Berlin, AG Charlottenburg, 89 HRB 5583
Postadresse:
Hahn-Meitner-Platz 1
D-14109 Berlin
http://www.helmholtz-berlin.de
- Navigate by Date:
- Prev:
Re: QT-based tools: Expressions of interest requested Ernest L. Williams Jr.
- Next:
Re: QT-based tools: Expressions of interest requested Pete Jemian
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
<2012>
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Search for disconnected channels Ralph Lange
- Next:
CLIMET, CI-1053 device support? Nicholas P. DiMonte
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
<2012>
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|